編集メニュー > 新規作成 編集 コピー 名前の変更 凍結 アップロード 添付ファイル一覧 バックアップ

screen

これを使うと例えばローカルで対話型のプログラムを走らせておき、 後でそのプロセスをリモートで制御できたりする。

Ctrl+a d/Ctrl+a Ctrl+dDetachする
screen -ls/-listscreenセッションのPIDのリスト表示
screen -r [PID]Detachされているセッションの再開
screen -xAttachされているセッションの再開

まず

[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は現在使用中のもの。

.screenrc

HOMEディレクトリに.screenrcを置くことによって設定ができる。Ctrl+aはよく使うのでこれCtrl+xに変更する。そのためには以下のように書く。

escape ^x^x