我在 SSH 会话期间仍登录到远程服务器时关闭了终端(exit
在关闭终端之前我没有这样做)。
这会损坏服务器吗?可能造成什么后果?
答案1
答案2
如果您在 shell 处,并且没有后台子进程仍然附加到 shell,那么应该没有问题。
它不会对服务器造成任何损害。它与在 OS X 或 Linux 中关闭终端窗口而不输入 exit 相同。shell 会检测到管道断开连接并自行退出。这实际上是关闭 shell 的可接受方式。许多其他程序也允许这样做,例如“Top”及其变体。
但是,请记住,关闭 ssh 基本上就是结束您的会话,因此,如果程序不能中断而不会对服务器造成损害,那么这样做是不安全的。例如,如果您不能使用 CTRL-C 安全地停止操作,那么您就不能退出。
此外,有些程序在父进程死亡或管道断开时无法正常退出,从而留下滞留的进程。在这种情况下,您只需重新登录并手动终止它们。通常,像这样断开连接被认为是不好的做法,因为很难重新连接到这样的程序并再次与其交互。相反,您需要找到一种方法来分离程序或将其守护进程化。Screen 是执行此操作的传统方法,但现在有很多其他选择,其中许多可以增强您的终端,因此请选择您喜欢的那个。