GNU/Linux >> Linux の 問題 >  >> Linux

Linux画面コマンド:接続が切断されてもプロセスを実行し続ける

皆さんご存知だと思います。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

適切なセッションを選択した場合は、作業を続行できるように、カーネルがまだコンパイルされていることを確認する必要があります(その間に終了していない場合)。

  • 画面:http://www.gnu.org/software/screen

Linux
  1. Ssh – Sshセッションが切断された後もプロセスを実行し続けますか?

  2. Linuxpsコマンド

  3. Linux で「screen」コマンドを使用する方法

  1. 切断後もリモートSSHセッションとプロセスを実行し続けるための5つの方法

  2. SSHセッションからログアウトした後もコマンドを実行し続ける4つの方法

  3. Linuxで実行中のプロセスを強制終了する方法

  1. Linux screen コマンドの使用方法

  2. Linuxでスクリーンプロセスを停止するには?

  3. ドロップされた SSH セッションで実行中のコマンドを再開する