Linux
使用打開的 SSH 會話關閉終端
我在 SSH 會話期間仍然登錄到遠端伺服器時關閉了終端(在關閉終端之前我沒有
exit
)。這會損壞伺服器嗎?可能有什麼後果?
只要您沒有執行對系統進行更改的東西(更新、fsck 等),它就不會損壞任何東西。
如果它只是一個空閒的 shell 會話,則不會受到任何傷害。
將來,如果您需要對具有破壞性的系統進行更改,您可以使用GNU Screen或tmux來保持您的會話執行並能夠在以後重新連接到它。
如果您在 shell 中並且沒有仍然附加到 shell 的後台子程序,那麼應該沒有問題。
它至少不會傷害伺服器。這與在 OS X 或 Linux 中關閉終端視窗而不鍵入 exit 相同。shell 檢測到管道的斷開並自行退出。這實際上是一種可以接受的關閉 shell 的方式。許多其他程序也允許這樣做,例如“Top”及其變體。
但是,請記住,關閉 ssh 基本上就是結束你的會話,所以如果一個程序不能被中斷而不會對伺服器造成不良影響,那麼這樣做是不安全的。例如,如果您不能使用 CTRL-C 安全地停止操作,那麼您就不能退出。
此外,有些程序在父母死亡或管道斷開時無法正確退出,從而導致程序陷入困境。在這種情況下,您只需要重新登錄並手動殺死它們。一般來說,像這樣斷開連接被認為是不好的做法,因為很難重新連接到這樣的程序並再次與之互動。相反,您需要找到一種方法來分離程序或守護程序。螢幕是傳統的做法,但是現在有很多其他的選擇,其中很多可以增強你的終端,所以選擇你喜歡的。