Keluar dari terminal yang menjalankan “nohup ./my_script &” => “Anda telah menjalankan pekerjaan”. OK untuk keluar?

12

Katakanlah saya menjalankan yang berikut ini di kotak jauh dengan ide mencegah pembunuhan pekerjaan ketika saya lepaskan terminal.

nohup ./my_script.sh &

Ketika saya mencoba untuk keluar dari terminal saya, saya mendapat peringatan berikut:

zsh: you have running jobs

Saya kira itu tidak apa-apa. Ini hanya memberitahu saya bahwa saya memiliki pekerjaan / proses yang berjalan di latar belakang. Jika saya memutuskan terminal, pekerjaan / proses akan terus berjalan, benar?

Amelio Vazquez-Reina
sumber
Saya menemukan bahwa nohup zsh rusak dan tidak melakukan apa yang Anda inginkan. Penolakan berfungsi sebagian besar waktu. Meskipun begitu saya punya masalah mencoba menggunakan disangkal dengan ffmpeg di zsh, jadi mulai bash shell dan jalankan nohup di dalamnya.
Sridhar Sarnobat

Jawaban:

19

Ya, tidak apa-apa. Proses anak akan menerima sinyal HUP, tetapi proses itu tidak akan mati berkat Anda nohup.

Jika Anda tidak ingin melihat pesan itu, cukup kirimkan id pekerjaan disown, seperti:

disown %1

Atau, mulai pekerjaan dengan &!(trik khusus zsh):

nohup ./my_script.sh &!
alienth
sumber