このエントリーをはてなブックマークに追加

それでは非常に一般的なケースを例にscreenの起動、利用、終了までを見てみます。

screenの起動

まずは、作業対象サーバにsshなどでアクセスしてみてください。 作業対象サーバ上で、screenを実行してみます。

$ screen

起動はこれだけです。あっけなく起動します。

それではscreenの効果を確認するために、 「ターミナルが落ちても処理が継続されるかどうか」を確認してみます。 これを確認するためにある時間のかかる(もしくはずっと継続する)プログラムを実行して、 プログラムの実行中にターミナルを落としてみます。

ここでは以下のプログラムを実行します。

プログラムといっても1秒ごとにdateを実行するシェルスクリプトです。 コマンドを手入力していただくことで永遠に動き続けるものです。

$ while true ; do sleep 1; date; done
2014年 3月23日 日曜日 11時51分22秒 JST
2014年 3月23日 日曜日 11時51分23秒 JST
2014年 3月23日 日曜日 11時51分24秒 JST
2014年 3月23日 日曜日 11時51分25秒 JST
2014年 3月23日 日曜日 11時51分26秒 JST
2014年 3月23日 日曜日 11時51分27秒 JST
2014年 3月23日 日曜日 11時51分28秒 JST
2014年 3月23日 日曜日 11時51分29秒 JST

毎秒1回dateコマンドが実行されるのを確認したら、 ここで、突然ターミナルを閉じてみます。

screenを使用していない場合は、sshが切断されますし、 当然コマンドは停止してしまいます。(これも試してもらえればよいかとおもいます)

screenを使用している場合は、もう一度アタッチという操作を行うことで 同じセッションに再接続することができます。 新しい端末を開いて、sshでログインしてから、 以下のコマンドを入力してください。

$ screen -r
2014年 3月23日 日曜日 11時56分08秒 JST
2014年 3月23日 日曜日 11時56分09秒 JST
2014年 3月23日 日曜日 11時56分10秒 JST
2014年 3月23日 日曜日 11時56分11秒 JST

これでscreenがセッションを保持してくれることがわかりました。

ウィンドウ操作

次に複数ウィンドウを開く操作です。 これはscreenを開いた後にコマンドを入力します。

$ screen
$ (ここでCtrlとtを押した後、nを押してみます。)

すると、本サイトの前提である設定を行っている場合は、 画面下部の0の横に1というのが出来たと思います。

繰り返すと、2、3、と増えていきます。 これがそれぞれのウィンドウにあたります、 各ウィンドウは別々のターミナルとして利用することができます。 各ウィンドウの切り替えは、screenへのコマンドで実施できます。

0 => 1 => 2 => 3と移動する場合は、

Ctrl - t
Ctrl - n

3 => 2 => 1 => 0と移動する場合は、

Ctrl - t
Ctrl - p

と入力していきます。

screenの終了

最後にscreenを終了するにはscreenの画面の中でexitをすれば終了できます。

$ exit

複数ウィンドウを立ち上げている場合は、それぞれのウィンドウごとに、 exitしていきます。

以上が、screenの基本的な使い方になります。 以降の章はHowTo的な情報になりますが、いろいろなscreenの使い方について解説します。




記事一覧へ