如何重新获得通过 SSH 断开的交互式 shell?

如何重新获得通过 SSH 断开的交互式 shell?

设想:

我在 Windows 上使用 putty 登录到 root shell。它当前正在运行一个交互式进程,提示输入以继续。典型的交互式进程,它可能正在等待下一个标准提示符。

我失去了 Wifi 连接。然后我使用完全不同的 IP(现在是 3G 连接)重新连接到互联网。我该如何恢复此会话?出于多种原因,我需要回到该 shell。其中一个原因是,每次断开连接时,我真的很讨厌丢失每个 putty 窗口的上下文/历史记录,这种情况可能经常发生。当然,最迫切的是能够回到当前正在等待输入的交互式进程。

简而言之:

  • 已断开网络连接
  • 因此,连接已关闭或与服务器超时
  • 我通过新 IP 重新上网
  • 我想重新获得相同的 shell,并恢复其最后/当前状态。因此,如果正在运行交互式进程,它应该恢复所有内容(例如:tail、vi、less + 当前输入缓冲区)
  • 尽管没有先运行其他进程(例如屏幕),这种情况是否可以恢复

答案1

不,您的会话可能已消失。您已经提到过screen,因此您知道类似这样的解决方案tmux将减少连接丢失的影响下一次发生这种情况。如果您预计将来会有任何长时间运行的进程,请训练自己在执行之前从屏幕会话中运行。

答案2

您可能需要检查screen

重新连接后,使用screen -ls显示分离的屏幕

用于screen -r连接到屏幕

相关内容