screen无法resume问题解决办法

当使用screen时或许会出现以下情况

# screen -ls 
There is a screen on:
    1894.one    (Attached)
1 Socket in /var/folders/mb/n9zb17sj6yscl42ktmrct4xh0000gq/T/.screen.
# screen -r one
There is a screen on:
    1894.one    (Attached)
There is no screen to be resumed matching one.

明明存在会话,却提示无法恢复,此时ls会话状态为Attached,说明已经附加过了
这种情况可能是因为其它人正使用这个会话,或者之前因为ssh超时等原因导致会话未正常退出,所以无法再次进入

此时可通过以下命令来查询哪些进程占用了会话

# ps auwxf|grep -B2 screen
root     23214  0.0  0.0 109304  4016 ?        Ssl  19:13   0:00  \_ sshd: root@pts/6 
root     23566  0.0  0.0 117400  2272 pts/6    Ss   19:13   0:00      \_ -bash
root     10445  0.0  0.0 125156  1156 pts/6    S+   19:23   0:00          \_ screen -ADR MYSCREEN

可以看到此时pid为23214的sshd进程占用了screen会话,这个是ssh的服务进程,说明之前存在过持有会话,且异常断开的情况,导致会话未正常退出或挂起。
此时kill掉id为23214的进程即可。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容