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

非同期シェル コマンド

または、プログラムを実行した後、Ctrl-Z を押してプログラムを停止し、

と入力することもできます。 <ブロック引用>

BG

最後に停止したプログラムをバックグラウンドに置きます。 (「&」を使用せずに何かを開始し、再起動せずに背景に残したい場合に便利です)


nohup cmd

端末を閉じてもハングアップしません。出力はデフォルトで nohup.out に送られます

これをバックグラウンドと組み合わせることができます、

nohup cmd &

そして出力を取り除きます、

nohup cmd > /dev/null 2>&1 &

disown もできます コマンド。 cmd と入力します 、 Ctrl-Zbgdisown


バックグラウンドでスクリプトを実行できます:

$ myscript &

これは & を置くのとは異なることに注意してください スクリプト内で、おそらくあなたが望むことをしません.


みんな disown を忘れてた .ここに要約があります:

  • & ジョブをバックグラウンドに置きます。

    • 入力を読み取ろうとするとブロックされ、
    • シェルが完了を待たないようにします。
  • disown シェルのジョブ制御からプロセスを削除しますが、ターミナルに接続したままにします。

    • 結果の 1 つは、シェルが SIGHUP を送信しないことです。 (シェルが SIGHUP を受け取った場合 、SIGHUP も送信します 通常はプロセスを終了させます)。
    • もちろん、バックグラウンド ジョブにのみ適用できます (フォアグラウンド ジョブの実行中は入力できないため)。
  • nohup 端末からプロセスを切断し、その出力を nohup.out にリダイレクトします SIGHUP からシールドします .

    • プロセスは送信された SIGHUP を受け取りません .
    • ジョブ制御から完全に独立しており、原則としてフォアグラウンド ジョブにも使用できます (ただし、あまり有用ではありません)。
    • 通常は & とともに使用されます (バックグラウンド ジョブとして)

Linux
  1. シェルが知っているすべてのコマンドを一覧表示しますか?

  2. Unixでシェルコマンドを編集するためにViキーを使用しますか?

  3. cronシェルを変更する方法(shからBash)?

  1. シェルスクリプトで長いコマンドを分割しますか?

  2. Sshに接続したらシェルコマンドを続行しますか?

  3. GUIベースのアプリケーションはバックグラウンドでシェルコマンドを実行しますか?

  1. バックグラウンドおよびフォアグラウンドでのLinuxコマンドの実行

  2. 15 の便利な Bash シェル組み込みコマンド (例付き)

  3. バックグラウンドで UNIX / Linux コマンド (およびシェル スクリプト) を実行する 5 つの方法