Saya telah melihat banyak contoh di mana a &
mengikuti akhir dari string perintah, tetapi saya tidak bisa menemukan penjelasan tentang apa yang dilakukannya. Ini bahkan tidak di nohup
's man
halaman. Apakah ini masalah shell?
Baik menggunakan &
atau tidak, saya menemukan bahwa proses apa pun yang dijalankan nohup
tampaknya menunjukkan kekebalan terhadap sinyal hangup.
&
, jadi saya tidak yakin apakah&
itu semacam pengubah atau argumen yang membuatnohup
berperilaku berbeda.Jawaban:
Dari halaman bash :
Jadi ya, itu masalah shell, dan dapat digunakan dengan perintah apa pun. Ini pada dasarnya mengembalikan kontrol kepada Anda segera dan memungkinkan perintah untuk menyelesaikan di latar belakang. Ini hampir selalu digunakan
nohup
karena Anda biasanya ingin keluar dari shell setelah memulai perintah.sumber
Menggunakan ampersand (&) akan menjalankan perintah dalam proses anak (anak ke sesi bash saat ini). Namun, ketika Anda keluar dari sesi, semua proses anak akan terbunuh.
menggunakan nohup + ampersand (&) akan melakukan hal yang sama, kecuali bahwa ketika sesi berakhir, induk dari proses anak akan diubah menjadi "1" yang merupakan proses "init", sehingga menjaga anak dari terbunuh.
sumber
Ya, ini masalah shell - ia menjalankan perintah di latar belakang sehingga Anda tidak perlu menunggu perintah saat ini kembali sebelum mengeluarkan lebih banyak perintah.
sumber