Centos 7を介して実行されるゲームサーバーがあります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[...]
ただし、その画面セッションに再接続することはできません(「steam」ユーザーによって開始されます)。
[steam@atlantis ~]$ screen -r
There is no screen to be resumed.
画面リストをインポートしようとすると、「コンセントが見つかりません」と表示されます。
[steam@atlantis ~]$ screen -ls
No Sockets found in /var/run/screen/S-steam.
rootユーザーにも同じことが起こります。find
スクリーンソケットディレクトリに何もないと教えてくれます。
┌─(/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
その画面に再接続する方法についてのアイデアはありますか?
答え1
screen
ソケットファイルが以下から削除されたようですscreen
。以下を使用して信号を送信して再生成screen
をトリガーできます。SIGCHLD
kill
$ kill -CHLD 30860
$ ls /var/run/screen/S-username/
30860.pts-4.localhost
ここで、PID 30860はPIDですscreen
。他の方法は、次のFAQで強調されています。アーカイブされたGentoo Wiki FAQ。