または、プログラムを実行した後、Ctrl-Z を押してプログラムを停止し、
と入力することもできます。 <ブロック引用>BG
最後に停止したプログラムをバックグラウンドに置きます。 (「&」を使用せずに何かを開始し、再起動せずに背景に残したい場合に便利です)
nohup cmd
端末を閉じてもハングアップしません。出力はデフォルトで nohup.out に送られます
これをバックグラウンドと組み合わせることができます、
nohup cmd &
そして出力を取り除きます、
nohup cmd > /dev/null 2>&1 &
disown
もできます コマンド。 cmd
と入力します 、 Ctrl-Z
、 bg
、 disown
バックグラウンドでスクリプトを実行できます:
$ myscript &
これは &
を置くのとは異なることに注意してください スクリプト内で、おそらくあなたが望むことをしません.
みんな disown
を忘れてた .ここに要約があります:
-
&
ジョブをバックグラウンドに置きます。- 入力を読み取ろうとするとブロックされ、
- シェルが完了を待たないようにします。
-
disown
シェルのジョブ制御からプロセスを削除しますが、ターミナルに接続したままにします。- 結果の 1 つは、シェルが
SIGHUP
を送信しないことです。 (シェルがSIGHUP
を受け取った場合 、SIGHUP
も送信します 通常はプロセスを終了させます)。 - もちろん、バックグラウンド ジョブにのみ適用できます (フォアグラウンド ジョブの実行中は入力できないため)。
- 結果の 1 つは、シェルが
-
nohup
端末からプロセスを切断し、その出力をnohup.out
にリダイレクトしますSIGHUP
からシールドします .- プロセスは送信された
SIGHUP
を受け取りません . - ジョブ制御から完全に独立しており、原則としてフォアグラウンド ジョブにも使用できます (ただし、あまり有用ではありません)。
- 通常は
&
とともに使用されます (バックグラウンド ジョブとして)
- プロセスは送信された