Apa yang akan terjadi jika saya tidak menutup sesi ssh?

Saya baru mengenal Python. Saat ini saya menggunakannya untuk terhubung ke server jarak jauh melalui ssh, melakukan beberapa hal (termasuk menyalin file), lalu menutup sesi.

Setelah setiap sesi saya melakukan ssh.close() dan sftp.close(). Saya melakukan ini karena itulah cara khas yang saya temukan di internet.

Saya bertanya-tanya apa yang akan terjadi jika saya menyelesaikan skrip saya tanpa menutup sesi. Apakah itu akan mempengaruhi server? Apakah ini akan membuat beban (atau bahkan sangat sedikit) di server? Maksud saya, mengapa kami melakukan ini?


person KhaledMaged    schedule 18.05.2016    source sumber


Jawaban (2)


Sistem operasi (lokal) menutup semua koneksi TCP/IP tertunda yang dibuka oleh proses, ketika proses ditutup (meskipun hanya crash).

Jadi pada akhirnya sesi SSH ditutup, meskipun Anda tidak menutupnya. Jelas sekali, itu ditutup secara tiba-tiba, tanpa pembersihan SSH yang tepat. Jadi ini mungkin memicu beberapa peringatan di log server.

Menutup sesi sangat penting, ketika proses berjalan lama, namun sesi itu sendiri hanya digunakan dalam waktu singkat.

Bagaimanapun, merupakan praktik yang baik untuk menutup sesi apa pun yang terjadi.

person Martin Prikryl    schedule 18.05.2016

Kami menutup sesi setelah penggunaan sehingga pembersihan (penutupan semua proses berjalan yang terkait dengannya) dilakukan dengan benar/mudah.

Saat Anda ssh.close() menghasilkan sinyal SIGHUP. Sinyal ini menghentikan semua tugas/proses di bawah terminal secara otomatis/langsung.

Saat Anda tiba-tiba mengakhiri sesi tanpa close(), OS akhirnya mengetahui bahwa koneksi terputus/terputus dan memulai sinyal SIGHUP yang sama yang menutup sebagian besar proses terbuka /sub-proses.

Bahkan dengan semua itu ada kemungkinan masalah seperti beberapa proses terus berjalan bahkan setelah SIGHUP karena dimulai dengan opsi nohup(atau entah bagaimana telah dipisahkan dari sesi saat ini).

person Ani Menon    schedule 18.05.2016