Lチカ開発ブログ

https://l-chika.com/の開発ブログ

screenコマンドについて

screenコマンドのメモ。

screenの説明のサイトはすごいあるけど、sshでセッションが切れてからの復帰方法について書かれているサイトが中々見つからなかったのでメモ。

手順

sshでログインしてscreen 実行。

$ screen

で、このままタイムアウトした場合に、

再度sshでログインして、screen -r をするとThere is no screen to be resumed.となってscreenにアタッチできない

$ screen -ls
There is a screen on:
    14188.pts-0.hoge-dev    (01/11/2017 03:01:17 PM)    (Attached)
1 Socket in /var/run/screen/S-foo.

$ screen -r
There is a screen on:
    14188.pts-0.hoge-dev    (01/11/2017 03:01:16 PM)    (Attached)
There is no screen to be resumed.

上記のようになったら、以前のsshでのログインプロセスをkillする

$ ps aux|grep pts|grep sshd
foo 13786  0.0  0.1 107736  1888 ?        S    14:54   0:00 sshd: foo@pts/0
foo 14920  0.0  0.1 107736  1880 ?        S    15:22   0:00 sshd: foo@pts/2
foo 14987  0.0  0.0  10460   932 pts/2    S+   15:23   0:00 grep --color=auto sshd

$ kill 13786

killをしたら、再度アタッチ

$ screen -r

これで大丈夫。

[改訂第3版]Linuxコマンドポケットリファレンス

[改訂第3版]Linuxコマンドポケットリファレンス

screenコマンドの説明

dotnsf.blog.jp

qiita.com

qiita.com

アタッチの説明

bayashi.net