Atau, setelah Anda menjalankan program, Anda dapat menekan Ctrl-Z yang menghentikan program Anda dan kemudian ketik
bg
yang menempatkan program Anda yang terakhir dihentikan di latar belakang. (Berguna jika Anda memulai sesuatu tanpa '&' dan masih menginginkannya di backgroung tanpa memulai ulang)
nohup cmd
tidak hangup saat Anda menutup terminal. output secara default pergi ke nohup.out
Anda dapat menggabungkan ini dengan latar belakang,
nohup cmd &
dan singkirkan hasilnya,
nohup cmd > /dev/null 2>&1 &
Anda juga bisa disown
sebuah perintah. ketik cmd
, Ctrl-Z
, bg
, disown
Anda cukup menjalankan skrip di latar belakang:
$ myscript &
Perhatikan bahwa ini berbeda dengan meletakkan &
di dalam skrip Anda, yang mungkin tidak akan melakukan apa yang Anda inginkan.
Semua orang lupa disown
. Jadi, inilah ringkasannya:
-
&
menempatkan pekerjaan di latar belakang.- Memblokir upaya membaca masukan, dan
- Membuat shell tidak menunggu penyelesaiannya.
-
disown
menghapus proses dari kontrol tugas shell, tetapi tetap membuatnya terhubung ke terminal.- Salah satu hasilnya adalah shell tidak akan mengirimkannya
SIGHUP
(Jika shell menerimaSIGHUP
, itu juga mengirimkanSIGHUP
ke proses, yang biasanya menyebabkan proses berhenti). - Dan tentu saja, ini hanya dapat diterapkan pada tugas latar belakang (karena Anda tidak dapat memasukkannya saat tugas latar depan sedang berjalan).
- Salah satu hasilnya adalah shell tidak akan mengirimkannya
-
nohup
memutus proses dari terminal, mengalihkan keluarannya kenohup.out
dan melindunginya dariSIGHUP
.- Proses tidak akan menerima
SIGHUP
yang dikirim . - Ini benar-benar independen dari kontrol pekerjaan dan pada prinsipnya dapat digunakan juga untuk pekerjaan latar depan (walaupun itu tidak terlalu berguna).
- Biasanya digunakan dengan
&
(sebagai pekerjaan latar belakang).
- Proses tidak akan menerima