接続が切れても作業再開できるGNU screen

2012-03-04 16:15 | tag: (none)

インターネット越しにsshでサーバに接続しているとき、通信回線の不調など何らかの原因で接続が切れることがある。接続が切れると、作業中のコマンドも強制終了させられてしまい、重要な作業・時間がかかる作業をおこなっているときなどは特に困る。

GNU screenを使うとsshの接続が切れてもサーバが動作している限りは処理が継続される。改めて接続し直せば問題なく作業を再開できる。

インストール

CentOSの場合、yumコマンドでインストールできる。

yum install screen

使用方法

新たなウィンドウの作成

接続が切れても作業を再開するためには、screenで新たに作成したウィンドウで作業する。以下のコマンドで新たなウィンドウが作成され、そのウィンドウに接続された状態となる。

-Sオプションの後にはわかりやすいウィンドウ名(以下の例では20110304_resize_partition)を付けておく。

screen -S 20110304_resize_partition

ウィンドウの一覧表示

-lsオプションでウィンドウのPIDと名前の一覧が表示される。

# screen -ls
There is a screen on:
	21064.20110304_resize_partition	(Attached)
1 Socket in /var/run/screen/S-root.

作業の再開(既存のウィンドウへの接続)

-xオプションで指定したPIDのウィンドウに接続できる。

screen -x 21064

ウィンドウを閉じる

ウィンドウから exit コマンドで抜ければ削除される。