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

Linuxコマンドの最後の&はどういう意味ですか?

さらに、「&」記号を使用して、1 つの ssh 接続を介して多くのプロセスを実行し、端末の数を最小限に抑えることができます。たとえば、ファイルを抽出するためにメッセージをリッスンする 1 つのプロセスがあり、2 番目のプロセスはファイルをアップロードするためにメッセージをリッスンします。「&」を使用すると、サーバーへの単一の ssh 接続を介して、1 つのターミナルで両方のサービスを実行できます。 .

「&」を介して実行されるこれらのプロセスは、ssh セッションが閉じられた後も「存続」します。サーバーへの ssh 接続が中断され、ターミナル マルチプレクサ (screen、tmux、byobu) が使用されていない場合に、非常に便利で便利です。


特に指示がない場合、コマンドはフォアグラウンドを引き継ぎます。 1 つのシェル セッションで実行される「フォアグラウンド」プロセスは 1 つだけです。 &記号は、コマンドをバックグラウンド プロセスで実行するように指示し、すぐにコマンド ラインに戻って追加のコマンドを実行します。

sh my_script.sh &

バックグラウンド プロセスはしません シェル セッションが閉じられた後も存続します。 SIGHUP は、実行中のすべてのプロセスを終了します。とにかくデフォルトで。コマンドが長時間実行されるか、無期限に実行される場合 (例:マイクロサービス)、セッションから切断した後もコマンドが実行され続けるように、nohup で pr-pend する必要があります:

nohup sh my_script.sh &

編集: &が使用されている場合、バックグラウンド プロセスの終了に関して灰色の領域があるように見えます。シェルが可能性があることに注意してください。 OS とローカル構成 (特に CENTOS/RHEL の場合) に応じてプロセスを閉じます:https://serverfault.com/a/117157.


& コマンドをバックグラウンドで実行します。

man bash から :

<ブロック引用>

コマンドが制御演算子 & によって終了された場合 、シェルはサブシェルでバックグラウンドでコマンドを実行します。シェルはコマンドが終了するのを待たず、戻りステータスは 0 です。


Linux
  1. Linuxでのセッションの定義は何ですか?

  2. Linux で eth0 インターフェース名は何を意味しますか?

  3. Linux の ./ はどういう意味 (ドット スラッシュ) ですか?

  1. シェルスクリプト行の最後にあるアンパサンドとはどういう意味ですか?

  2. ls -l のパーミッションの末尾にある + は何を意味しますか?

  3. Linux でサフィックス .d は何を意味しますか?

  1. ファイル名の末尾のチルダ(〜)はどういう意味ですか?

  2. Psの出力にはどういう意味がありますか?

  3. Linux では、top コマンドのすべての値は何を意味しますか?