Bu soru geldi oldukça bir sürü ( gerçekten çok ), ama cevaplar genellikle eksik olması buluyorum. Genel soru şudur: "ssh'den çıkıp öldürdüğümde işim neden öldürülüyor / öldürülmüyor?" İlk soru şudur: Aşağıdaki bilgiler ne kadar geneldir? Aşağıdaki modern Debian linux için doğru gibi görünüyor, ama bazı bit eksik; ve başkalarının neleri bilmesi gerekir?
Ssh bağlantısı kapatıldığında veya bir SSH bağlantısı üzerinden açılan bir kabuğun arka plana Tüm alt işlemler, SIGHUP ile öldürülür yalnızca
huponexit
çalıştırın: seçenek ayarlandığındashopt huponexit
bu doğru olup olmadığını görmek için.Eğer
huponexit
doğruysa, o zaman kullanabilirnohup
yadisown
sen çıktığınızda o öldürdü almaz böylece kabuğundan sürecini ayrışmasına sebep olmaktadır. Veya, bir şeylerle koşunscreen
.Eğer
huponexit
ki, yanlıştır varsayılan bazı bugünlerde linux'lar en azından, sonra arka plana işler olacak değil , normal çıkış yapınca öldürülebilir.Ancak
huponexit
yanlış olsa bile , ssh bağlantısı öldürülürse veya düşerse (normal oturumdan farklıysa), arka plandaki işlemler yine de öldürülür. Bu, (2) 'dedisown
yanohup
da (2)' de olduğu gibi önlenebilir .(A) Ana işlemi terminal olan işlemler ile (b) terminale stdin, stdout veya stderr bağlı işlemler arasında bazı ayrımlar vardır . (A) ve (b) değil ya da tam tersi süreçlere ne olduğunu bilmiyorum.
Son soru: Davranıştan nasıl kaçınabilirim (3)? Başka bir deyişle, Debian'da varsayılan olarak arka plandaki işlemler çıkıştan sonra kendiliğinden çalışırlar, ancak ssh bağlantısı kesildikten sonra değil. Bağlantının normal bir şekilde kapatılıp kapatılmadığından veya öldürülmesine bakılmaksızın aynı şeylerin süreçlerde olmasını istiyorum. Yoksa bu kötü bir fikir mi?
Düzenleme: Öldürme iş tutmak için başka bir önemli yol, her iki durumda da çalışır (?) Onları ekran üzerinden çalıştırmaktır . Ancak, soru daha çok şeylerin ne zaman öldürüldüğünü ve ne zaman öldürülmediklerini anlamakla ilgilidir: bazen insanlar işlerin çıkışta öldürülmesini isterler.
Daha fazla konu: - Sinyaller (iç çekme), işler ve kontrol terminali hakkında açıklama - /server/117152/do-background-processes-get-a-sighup-when-logging-off - SSH'ye devam et SSH kapatılırken arka plan görevi / işleri - Bir SSH oturumu kapatıldıktan sonra arka plana yerleştirilen bir iş çalışmaya devam edecek mi? - SSH istemcisini kapattıktan sonra zaten çalışan bir arka plan işleminin durdurulmasını önleme - Bağlantıyı kestikten sonra çalışmaya devam edecek şekilde SSH üzerinden bir işlemi nasıl başlatabilirim? - OS X'de uzaktan iş çalıştırılamıyor - SSH bağlantısını kapat