在没有屏幕的情况下断开连接时重新连接 ssh 会话

Jon*_*eig 7 ubuntu ssh upgrade

我通过 ssh 启动了“do-release-upgrade”,然后我的(客户端)网络连接中断了。

如何重新连接到正在执行此命令的会话?

qua*_*nta 7

你不能。您的命令将收到一个 SIGHUP。看一看:screen, tmux, nohup, 或disown, ...

如何重新连接到断开连接的 ssh 会话


ror*_*ycl 6

当您断开连接时,您的会话被终止。

更具体地说:假设您 su-ed 为 root,那么您的 su 进程是您登录进程的子​​进程,而您的“do-release-upgrade”进程是该进程的子进程。

当您断开连接时,您已经杀死了登录进程,杀死了相关的子进程,除非它们中的一个或其他已经完成了守护进程 init 所做的那种后台处理。(OT,但有关后者的更多信息,您可以在 Wikipedia 上阅读有关守护进程分叉的信息。)

您可能应该使用过 screen 或在系统控制台上工作过 :-(

  • 如果`do-release-upgrade` 类似于Debian 的`apt-get dist-upgrade`;然后dpkg会检测到升级过程因为dpkg锁文件(通常是/var/lib/dpkg/lock)的存在而中断。 (2认同)