Mengetik ~.
sebenarnya bisa untuk menutup semua koneksi "bersarang" hingga yang terdalam.
Itu melakukannya dengan keluar damai yang Anda inginkan selama semua shell Anda dikonfigurasi untuk menangani SIGHUP sebagai kematian anggun. Bash melakukannya secara default. Anda dapat dengan mudah memeriksa keluar secara damai untuk pengaturan Anda dengan misalnya melihat apakah .bash_history
file sesi Anda yang lebih dalam mendapatkan pembaruan dengan benar setelah ~.
, atau jika Anda mengatur bash-es Anda untuk tidak memperbarui .bash_history saat keluar maka Anda mungkin menetapkan trap
pada EXIT event (atau di Anda ~/.bash_logout
) dengan perintah yang menulis sesuatu di suatu tempat dan kemudian lihat apakah itu dijalankan.
Selain itu, saya tidak yakin apa yang Anda maksud dengan "keluar dari semua sesi di shell saat ini". Setiap bash interaktif hanya satu sesi, dan perintah yang Anda ketikkan selalu hanya untuk shell terdalam dari rantai ProxyJump. Jika Anda maksudkan "pekerjaan latar belakang di shell saat ini", bash mengirimkan SIGHUP ke semua pekerjaannya saat menerima SIGHUP oleh daemon ssh pada ~.
, oleh karena itu keluar seperti itu harus sepenuhnya damai jika mereka yang menjalankan pekerjaan bereaksi dengan benar terhadap SIGHUP.
~.
cukup putuskan klien SSH Anda (itu berguna ketika jaringan telah menghilang, misalnya). Biasanya, daemon SSH akan mengenalinya dan memberi sinyal sesiSIGHUP
, jadi itu tidak sama dengan berhenti dari shell secara normal (tapi itu berguna jika Anda tidak bisa mendapatkan respon dari shell).