last-modified: 2019-04-28 (日) 18:36:58 (1834d)[変更箇所]
これを使うと例えばローカルで対話型のプログラムを走らせておき、 後でそのプロセスをリモートで制御できたりする。
Ctrl+a d/Ctrl+a Ctrl+d | Detachする |
screen -ls/-list | screenセッションのPIDのリスト表示 |
screen -r [PID] | Detachされているセッションの再開 |
screen -x | Attachされているセッションの再開 |
まず
[aaa@bbb] screen
で起動。何かプログラムを走らせた後、Detachして一度抜ける。でもプロセスはそのまま生きる。その後違うマシンからリモートでログインして
[aaa@ccc] screen -r
とするとプロセスを走らせていた端末が復活。複数Detachedがある場合にはPIDを指定する必要がある。
[nebula@nebula01 nebula]$ screen -ls There are screens on: 4598.pts-9.nebula01 (Attached) 4792.pts-9.nebula01 (Detached) 2 Sockets in /home/nebula/.screen. [nebula@nebula01 nebula]$
でAttachedは現在使用中のもの。
HOMEディレクトリに.screenrcを置くことによって設定ができる。Ctrl+aはよく使うのでこれCtrl+xに変更する。そのためには以下のように書く。
escape ^x^x