Bunu bir iş arkadaşınızla uzun bir tartışmadan sonra sormak istiyorum, burada gerçekten bir açıklama yapmak isterim.
" &" Komut satırına ekleyerek veya CTRL-Z" bg" ile arka planda devam ettirerek veya " " ile arka planda devam ettirerek bir arka plan işlemi başlatırım . Sonra oturumu kapatıyorum.
Ne oluyor?
Bir SIGHUP tarafından öldürülmesi gerektiğinden eminiz, ama bu olmadı; tekrar giriş yaptıktan sonra süreç mutlu bir şekilde çalışıyordu ve pstree"kabul ettiğini" gösterdi init.
Beklenen davranış bu mu?
Ama öyleyse, öyleyse, nohupemrin amacı nedir? Öyle görünüyor ki, süreç yine de, onsuz öldürülmeyecek ...
Düzenle 1
Biraz daha detay:
- Komut, fiziksel konsoldan değil bir SSH oturumundan başlatıldı.
- Komut olmadan
nohupve / veya&; daha sonra ile askıya alınmışCTRL-Zve arka plan ile sürdürülmüştürbg. - SSH oturumu vermedi bırakın. Gerçek bir oturum kapatıldı ("
exit" komutu). - İşlem bir
scpdosya kopyalama işlemiydi. - Tekrar oturum açtıktan sonra,
pstreeçalışan ve çocuk olduğu süreci gösterdiinit.
Düzenle 2
Soruyu daha net bir şekilde ifade etmek için: Bir işlemi arka plana koymak ( &veya veya kullanarak bg) SIGHUPtıpkı nohupkomutta olduğu gibi yoksaymaya neden olur mu?
Düzenle 3
El ile bir gönderme çalıştı SIGHUPiçin scp: o çıkıldı, kesinlikle sinyalini yok bu yüzden.
Sonra tekrar başlatmayı, arkaplana koyup oturumu kapatmayı denedim: oturumu kapattı initve çalışmaya devam etti ve tekrar oturum açarken orada buldum.
Şimdi oldukça şaşırdım. SIGHUPOturumu kapattıktan sonra hiç gönderilmemiş gibi görünüyor .
1>/dev/null 2>&1bash, vb.