![Screen 会话无法分离,现在也无法连接](https://linux22.com/image/1346393/Screen%20%E4%BC%9A%E8%AF%9D%E6%97%A0%E6%B3%95%E5%88%86%E7%A6%BB%EF%BC%8C%E7%8E%B0%E5%9C%A8%E4%B9%9F%E6%97%A0%E6%B3%95%E8%BF%9E%E6%8E%A5.png)
我通常使用 PuTTY 从 Windows 笔记本电脑登录 Linux 系统,然后在那里运行 screen。当我的公司老板决定将我的笔记本电脑更新到 Windows 7 时,我的 PuTTY 会话一直处于冻结状态。我通常会终止 PuTTY 会话,然后重新连接 screen 会话(如果它已分离)或发出“-d -r”(如果当我的 PuTTY 会话冻结时 screen 会话没有分离)。
我的问题是我有一个屏幕会话,起初它拒绝分离。我会使用:
screen -d -r 6313.sessionName
但命令只是挂在那里。
我发现 /var/run/screen// 目录中有与我的每个屏幕会话相对应的“文件”。我注意到顽固的那个有 700 个权限,而其他(已分离)有 600 个权限。
所以我将该文件的权限改为 600。Screen 现在将其列为“已分离”。但是,当我尝试重新附加它时,命令再次挂在那里。
使用
ps aux | grep 6313
显示进程状态为“Ss”,这意味着它处于可中断的睡眠状态。这与显示相同进程状态的任何其他分离屏幕会话没有什么不同。
我不知道如何恢复此会话。有什么建议吗?
答案1
当我使用screen
命令时,我通常像这样打开套接字:
$ screen -S <SOCKET_NAME>
当我想要连接或重新连接时我使用:
$ screen -x <SOCKET_NAME>
答案2
要分离屏幕会话,您应该使用Ctrl+ A+ D。然后,要重新连接会话,请使用screen -r <pid>
。如果您想连接到正在使用的屏幕会话,那么您将screen -dr <pid>
首先使用 分离,然后重新连接屏幕会话。