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