皆さんご存知だと思います。SSHでサーバーに接続していて、ソフトウェア(新しいカーネルなど)をコンパイルしている最中、または時間がかかる他のタスクを実行している最中に、何らかの理由で接続が突然切断された場合、未完成の作業を失います。これは非常に煩わしい場合がありますが、幸いなことに、以前のセッションに再接続してタスクを完了できるscreenと呼ばれる小さなユーティリティがあります。この短いチュートリアルは、この目的のためだけにscreenを使用する方法を示しています。
1screenコマンドのインストール
スクリーンの取り付けはとても簡単です。 Debianで、次を実行します:
apt-get install screen
Ubuntuの場合、sudoでコマンドを使用します:
sudo apt-get install screen
また、Fedora、CentOS、SuSE、およびMandrivaの場合、yum / yast / urpmi / ...
でインストールできる画面パッケージもあります。FedoraとCentOS
yum install screen
2画面コマンドの使用
画面を使用すると、現在のSSH端末で1つ以上のセッションを作成できます。実行するだけです
screen
それを開始します。これにより、現在のSSH端末に画面セッションまたはウィンドウが作成されます(ただし、そのようには表示されません)。
スペースキーまたはリターンキーを押して、コマンドプロンプトを表示します:
通常のSSH端末のようですね。
次に、画面を制御するために必要な最も重要な画面コマンドについて説明します。これらのコマンドは、通常のシェルコマンドと区別するためにCTRLaで始まります。
- Ctrl a c-新しい画面セッションを作成して、一度に複数の画面セッションを使用できるようにします。
- Ctrl an- nに切り替えます ext画面セッション(複数使用する場合)
- Ctrl a p- pに切り替えます 逆スクリーンセッション(複数使用する場合)
- Ctrl a d-画面セッションを切り離します(プロセスを強制終了せずに-続行します)。
すべてのタスクが終了した画面セッションを閉じるには、次のように入力します
exit
それでは、少し遊んでみましょう。画面ウィンドウで、コマンドを実行します
top
これは次のようになります:
次に、「
」と入力して、別の画面セッションを作成しましょう。Ctrl a c
新しい空白の画面セッションが開き、そこで実行されます
tail -f /var/log/mail.log
メールログを継続的に確認するには:
これで、実行して2つの画面セッションを参照できます
Ctrl a n
または
Ctrl a p
スクリーンセッションを切り離して通常のSSHターミナルに戻るには、次のように入力します
Ctrl a d
通常のSSHターミナルに戻って、実行できます
screen -ls
現在のスクリーンセッションのリストを取得するには:
There are screens on:
2477.pts-0.server1 (Detached)
2522.pts-0.server1 (Detached)
2 Sockets in /var/run/screen/S-root.
これらのセッションの1つに再接続するには、
を実行します。screen -r 2477.pts-0.server1
ここで、2477.pts-0.server1は、画面-ls出力からのセッションの1つの名前です。
スクリーンセッションを終了して終了するには、現在のすべてのタスクを終了し(topはqと入力して終了でき、tail -f/var/log/mail.logはCTRLcと入力して終了できます)、次に
と入力します。exit
次に、別の画面セッション(複数使用している場合)にフォールバックするか、開いている画面セッションがなくなった場合は通常のSSH端末にフォールバックします。
画面について詳しく知りたい場合は、
を実行してください。man screen
3接続が切断されました-何ができますか?
ここで、通常は長い時間がかかり、突然接続が切断されるスクリーンセッションでカーネルをコンパイルするとします。スクリーンのおかげであなたの仕事は失われません。接続がバックアップされたら、SSHを使用してシステムに再度ログインし、実行します
screen -ls
第2章に示すように、結果から1つのセッション(例:2477.pts-0.server1)を選択し、それに再接続します。
screen -r 2477.pts-0.server1
適切なセッションを選択した場合は、作業を続行できるように、カーネルがまだコンパイルされていることを確認する必要があります(その間に終了していない場合)。
4つのリンク
- 画面:http://www.gnu.org/software/screen