Uzun süredir çalışan bir komut yürüten bir SSH oturumu başlattığımda, Ctrl+ C(SIGINT) işleme ile ne olur ?
SSH oturumunun kapalı olduğunu görebiliyorum, ancak SIGINT'i ilk kimin aldığından emin değilim:
uzak çalışan komut? yani, (a) uzak komuttaki sinyal işleyici çağrılır ve uzak komutu durdurur, (b) ortaya çıkan kabuk komutun durduğunu algılar ve durur (c) uzak sshd kabuğun durduğunu algılar, böylece bağlantıyı kapatır
veya
yerel ssh sinyali alır ve bağlantıyı kapatır.
Bence (1) oluyor ama emin olmak istiyorum.
Ayrıca, bu durumda SIGINT'lerin kabuk işlemesinde ne olacağı konusunda emin değilim. Örneğin, eğer ben ...
ssh remote 'while true ; do sleep 1 ; date ; done'
ve Ctrl+ C, uzak bağlantı kesilir. Uzaktan komutu Ctrl+ işaretinden sonra hayatta kalacak bir kabuk altında çalıştırmanın bir yolu var mı C? Yani, bu durumda, döngüyü durdurun ve uzak kabuk üzerinde çalışmaya devam etmeme izin verin?
ssh remote command
aksinessh remote
) ctrl-C yazılarak oluşturulan SIGINT tarafından (yerel tarafta) öldürülecektir. Uzak taraf muhtemelen (işletim sistemine bağlı olarak) kapalı sokete okumaya veya yazmaya çalışana kadar çalışmaya devam eder. Ctrl-C dahil tüm tuş vuruşlarınızın uzaktan kumandaya iletilmesini istiyorsanız kullanınssh remote
.