どういうわけか、画面に「通知」せずに画面ウィンドウを閉じることができたため、セッションにはattached
のフラグが付けられています。これにより、このセッションに再接続できなくなります。私に何ができる?
me@iupr-serv8:~$ screen -r
There are several suitable screens on:
25028.pts-19.XXX-serv8 (01/05/2012 07:15:34 PM) (Attached)
24658.pts-19.XXX-serv8 (01/05/2012 07:11:38 PM) (Detached)
24509.pts-19.XXX-serv8 (01/05/2012 07:10:00 PM) (Detached)
18676.pts-5.XXX-serv8 (01/02/2012 06:55:33 PM) (Attached)
Type "screen [-d] -r [pid.]tty.Host" to resume one of them.
me@XXX-serv8:~$ screen -r 25028
There is a screen on:
25028.pts-19.XXX-serv8 (01/05/2012 07:15:33 PM) (Attached)
There is no screen to be resumed matching 25028.
[更新]
結局、セッションは失われていないことがわかりましたが、最初のセッションのIDは0
です。 ID 1
の2番目のセッション。
最初にscreen -d
を使用してデタッチしてください。それでもうまくいかない場合は、強調の昇順で試してください。
-d|-D [pid.tty.Host]
does not start screen, but detaches the elsewhere running screen session. It has the
same effect as typing "C-a d" from screen's controlling terminal. -D is the equivalent
to the power detach key. If no session can be detached, this option is ignored. In
combination with the -r/-R option more powerful effects can be achieved:
-d -r Reattach a session and if necessary detach it first.
-d -R Reattach a session and if necessary detach or even create it first.
-d -RR Reattach a session and if necessary detach or create it. Use the first session if
more than one session is available.
-D -r Reattach a session. If necessary detach and logout remotely first.
-D -R Attach here and now. In detail this means: If a session is running, then reattach.
If necessary detach and logout remotely first. If it was not running create it and
notify the user. This is the author's favorite.
-D -RR Attach here and now. Whatever that means, just do it.
screen -r '1234.somescreensession'
次の画面があります。
1234. somescreensession(添付)
1234.somescreensessionに一致する再開する画面はありません。
これは、そのスクリーンセッションを取り戻す簡単な方法です。
screen -D -r '1234.somescreensession'
複数の画面がバックグラウンドで実行されている場合があります。
次の方法で再開できます。
screen -r [pid]
画面を取得するには、まずscreen -R
を実行します。次に、実行中のすべての画面のPIDが表示されます。その後、screen -r [pid]
で再開します。
スクリーンセッションを接続しているときにssh接続が予期せずWrite Failed: broken pipe
メッセージで閉じた後、同じ問題が発生しました。しかし、上記のコマンドのいずれかを使用してスクリーンセッションを再接続することができませんでした。次のバージョンを使用していることに注意してください。
~> screen --version
Screen version 4.00.03 (FAU) 23-Oct-06
どうやら、実行中のsshd
のインスタンスがまだあったため、セッションを切り離して再接続することができませんでした。 PID
とsshd
ingの適切なインスタンスのkill
を特定した後、screen -r
で再接続することができました。
参考までに:複数のsshd
デーモンが確実に見つかります。1つは現在のログインに対応し、もう1つは古いscreen
セッションに属します(実際、他に複数のsshd
sは、他の複数のscreen
sに属しています。