设想:
我在 Windows 上使用 putty 登录到 root shell。它当前正在运行一个交互式进程,提示输入以继续。典型的交互式进程,它可能正在等待下一个标准提示符。
我失去了 Wifi 连接。然后我使用完全不同的 IP(现在是 3G 连接)重新连接到互联网。我该如何恢复此会话?出于多种原因,我需要回到该 shell。其中一个原因是,每次断开连接时,我真的很讨厌丢失每个 putty 窗口的上下文/历史记录,这种情况可能经常发生。当然,最迫切的是能够回到当前正在等待输入的交互式进程。
简而言之:
- 已断开网络连接
- 因此,连接已关闭或与服务器超时
- 我通过新 IP 重新上网
- 我想重新获得相同的 shell,并恢复其最后/当前状态。因此,如果正在运行交互式进程,它应该恢复所有内容(例如:tail、vi、less + 当前输入缓冲区)
- 尽管没有先运行其他进程(例如屏幕),这种情况是否可以恢复
答案1
不,您的会话可能已消失。您已经提到过screen
,因此您知道类似这样的解决方案tmux
将减少连接丢失的影响下一次发生这种情况。如果您预计将来会有任何长时间运行的进程,请训练自己在执行之前从屏幕会话中运行。
答案2
您可能需要检查screen
重新连接后,使用screen -ls
显示分离的屏幕
用于screen -r
连接到屏幕