Saya seorang pemula di Ubuntu. Saya telah belajar suatu perintah
nohup [command]
- Jalankan <command>
kekebalan terhadap sinyal hangup
Saya tidak bisa mengerti arti dari " kebal terhadap sinyal hangup ". Apa jenis sinyal yang dibicarakannya? Dan tolong beri tahu saya cara menggunakan perintah ini dengan sebuah contoh.
command-line
nohup
coding_ninza
sumber
sumber
disown
adalah alternatif yang lebih baiknohup
. Latar belakang perintah dengancommand &
atauCtrl-Z
, lalu gunakandisown
untuk melepaskannya dari shell.Jawaban:
Biarkan kami mempertimbangkan Anda telah membuka
gedit
editor teks dari terminal dan bekerja di sana. Jika Anda menutup terminal sebelum menutupgedit
, gedit juga akan ditutup segera setelah menutup terminal. Jadi apa yang terjadi di sini? Thegedit
berjalan sebagai proses anak di bawah terminal. Ketika Anda menutup terminal, sinyal menggantung (SIGHUP
) dikirim ke proses yang membunuh proses anak.Di sisi lain, jika Anda ingin proses anak Anda (di sini
gedit
) tetap berjalan bahkan setelah menutup terminal induk, Anda ingin proses Anda kebal terhadap sinyal hangup. Sehingga menutup terminal jangan menutup proses anak.nohup
melakukan pekerjaan ini dengan tepat.nohup
tidak memutuskan perintah dari terminal , itu membuat skrip Anda mengabaikan SIGHUP, dan mengalihkan stdout / stderr ke file nohup.out, sehingga perintah dapat terus berjalan di latar belakang setelah Anda logout. Jika Anda menutup shell / terminal atau logout, perintah Anda bukan lagi anak dari shell itu. Itu milik proses init. Jika Anda mencari di dalam,pstree
Anda akan melihatnya sekarang dimiliki oleh proses 1 (init). Itu tidak dapat dibawa kembali ke latar depan karena latar depan tidak ada lagi.sumber
Selain apa yang ditulis @sourvac, ini adalah warisan dari Back In The Day ketika orang masuk melalui terminal bodoh hanya teks, sering melalui modem (asli, analog 110 baud): "hang up" secara harfiah adalah "menutup telepon" ".
Pid yang kebal terhadap sinyal hangup akan tetap berjalan bahkan setelah Anda keluar dan menutup telepon . Ini sangat berguna pada komputer yang lambat ketika pekerjaan berjalan berjam-jam, dan Anda tidak bisa tetap masuk (orang lain perlu menggunakan terminal, Anda perlu menggunakan telepon, statis di telepon mungkin "bzzt" koneksi , dll).
sumber