Bagaimana saya bisa menjaga perintah saya mulai dari shell berjalan jika saya logout dari shell?

12

Metode apa yang ada untuk menjaga perintah yang dimulai dari shell agar tetap berjalan setelah keluar dari shell?

NES
sumber

Jawaban:

11
  • Untuk menempatkan aplikasi ke latar belakang, gunakan &:

    command &
    
  • Jika Anda ingin menutup terminal, dan menjaga aplikasi yang berjalan, Anda dapat menggunakan beberapa pilihan: , dan .screen Pasang layardtach Instal dtachnohup

    nohup command &
    
  • Layar sangat membantu karena Anda dapat memulai kembali suatu sesi dan dtach juga menyenangkan.

  • Lihatlah tautan berikut untuk informasi lebih lanjut

karthick87
sumber
tidak menambahkan &di akhir perintah juga?
theTuxRacer
2
@Kaustubh-P menggunakan & sering merupakan habbit yang baik untuk menutup terminal melalui perintah 'keluar', tidak menekan tombol X. & membuat perintah berjalan di thebackground.Tapi jika shell induk ditutup. yang masih bisa memaksa program latar belakang untuk keluar.
karthick87
5

Gunakan perintah nohup seperti ini:

nohup gedit /home/user/file.txt &
Javier Rivera
sumber
Cara bahkan menghapus nohup: mengabaikan input dan mengarahkan stderr ke stdout
Amruth A
5

Perintah (bash?) Yang berguna adalah disown. hal yang menyenangkan tentang itu adalah ia bekerja untuk pekerjaan yang sudah berjalan (ngomong-ngomong, Anda tidak mengakui pekerjaan, bukan proses, jadi Anda perlu melakukan ctrl-Z, bgsebelum menjalankan penolakan pada pekerjaan Anda. Misalnya, bayangkan diri Anda melakukan hal berikut:

local % ssh some.where.com
remote % verylongscript.sh

Sekarang Anda menyadari bahwa Anda harus pergi tetapi tidak ingin skripnya dibunuh saat keluar, jadi Anda

ctrl-Z
remote % bg
remote % disown
remote % exit
local %

Sekarang, aktif remote, skrip Anda masih berjalan.

Yossi Farjoun
sumber
1

saya menggunakan

nohup mycommand &

Sebagai contoh untuk memunculkan VirtualBox virtual server, saya mengetik berikut ini di shell jauh (yang kemudian saya tutup):

nohup VBoxHeadless --startvm "myvm" --vrdp=off &
Ivan
sumber