无法让分离的屏幕恢复

Dav*_*ith 11 ssh putty gnu-screen

我使用腻子并且无线连接不可靠,因此我使用屏幕来保持工作正常进行。通常我会断开连接,然后我无法重新连接我的屏幕。我会跑screen -D -RR,它会无限期地坐在那里。我试图ctrl+z让我的控制台回来,ps aux | grep screen然后kill -9是所有结果,然后screen -D -RR再一次,但我得到了相同的结果。我尝试了你想提到的 d 和 r 的任何组合,但它仍然只是坐在那里。我的屏幕在那里,它不会做任何事情,尤其是恢复。

有人对如何让我的屏幕会话恢复有任何提示、技巧或想法吗?

Dav*_*osh 16

当我断开与活动屏幕的连接然后重新连接时,我已经看到了这一点。 错误 #27462(“原始会话丢失时重新连接停止”)描述了我所看到的问题。似乎发生的事情是屏幕试图通知持有它的 tty 它即将离开,但由于 tty 由于连接断开而挂起,它必须等待超时发生(超过五分钟)在某些情况下)。

为了解决它,我这样做:

  • 找出哪个 tty 保留了屏幕会话 ps -ef | grep screen | grep pty
  • 找到与该 tty 关联的登录 bash ps -ef | grep bash | grep $PTY
  • 杀死那个bash kill -KILL $PID

这会导致 screen 正确完成断开连接,并让您正常重新连接。

请参阅此处的示例脚本,该脚本在某种程度上实现了自动化。