Aşağıdaki komutu çalıştırıyorum ve diğer sistemdeki çıktı dosyasını izliyorum:
ssh $ip_address 'for n in 1 2 3 4 5; do sleep 10; echo $n >>/tmp/count; done'
Eğer ssh komutunu kullanarak ^C
veya oturum açtığım terminali öldürerek öldürürsem, uzak komutun da sonlanmasını beklerdim. Ancak bu gerçekleşmez: /tmp/count
ne olursa olsun tüm sayıları 1-5 alır ve ps -ejH
kabuğu ve sleep
çocuğunun çalışmaya devam ettiğini gösterir .
Bu beklenen davranış mı ve herhangi bir yerde belgelenmiş mi? Devre dışı bırakabilir miyim? Etrafta okurken, bu tür davranışları varsayılan olarak değil, nohup ile açıkça etkinleştirmek zorunda kalacaktım.
Ssh ve sshd için man sayfalarına baktım, ancak belirgin bir şey tespit etmedim ve Google beni bu davranışı kapatmak için değil, bu davranışı kapatmak için talimatlara yönlendirdi.
Her iki sistemde de root girişi ve bash kabuğu ile Red Hat Enterprise Linux 6.2 kullanıyorum.
-tt
yerine-t
ssh kendisi tahsis TTY yoksa. SSH-f
veya gibi seçenekler aracılığıyla çağrıldıktan hemen sonra arka plana alınırsa SSH tahsis edilmez-n
.