屏幕处于活动状态但 /var/run/screen 中没有套接字

Fan*_*lio 5 shell gnu-screen centos

我有一个通过screen.

我可以确认游戏服务器正在运行,我可以用客户端连接到它,并ps faux给我这个输出:

steam    10111  0.0  0.0 127904  3028 ?        Ss   Jul09   0:00 SCREEN
steam    10112  0.0  0.0 115444  3548 pts/2    Ss   Jul09   0:00  \_ /bin/bash
steam    16558  0.0  0.0 113180  2700 pts/2    S+   Jul09   0:00      \_ /bin/bash ./avorionsrv.sh
steam    16564  4.1  5.7 2276908 944748 pts/2  Sl+  Jul09 234:32          \_ ./bin/AvorionServer --gala[...]
Run Code Online (Sandbox Code Playgroud)

但是,我无法重新附加到该屏幕会话(它是由“steam”用户启动的):

[steam@atlantis ~]$ screen -r 
There is no screen to be resumed.
Run Code Online (Sandbox Code Playgroud)

并尝试获取屏幕列表会产生“未找到套接字”

[steam@atlantis ~]$ screen -ls
No Sockets found in /var/run/screen/S-steam.
Run Code Online (Sandbox Code Playgroud)

root 用户find也会发生同样的情况,屏幕套接字目录中的 a 告诉我那里什么都没有。

??(/root)??????????????????????????????????????????????????(ROOT@atlantis:pts/0)??
??(11:54:05)??> find /var/run/screen                             <??(Fri 13 Jul)??
/var/run/screen
/var/run/screen/S-root
/var/run/screen/S-steam
Run Code Online (Sandbox Code Playgroud)

关于如何重新连接到该屏幕的任何想法?

slm*_*slm 3

这听起来像是您的screen套接字文件被从下面删除了screen。您可以通过使用以下命令向它们screen发送信号来触发重新创建它们:SIGCHLDkill

$ kill -CHLD 30860
$ ls /var/run/screen/S-username/
30860.pts-4.localhost
Run Code Online (Sandbox Code Playgroud)

其中 PID 30860 是 的 PID screen标题为:存档的 Gentoo Wiki FAQ 的FAQ 中突出显示了其他方法。

参考