各プロセスには、それを開始した親プロセスがあります。たとえば、bash シェルでコマンドを実行する場合、そのコマンドの親プロセスは bash シェル プロセスです。
親プロセスが停止すると、ハングアップ (HUP) シグナルがすべての子プロセスに送信されます。この HUP シグナルは、子プロセスを停止するように設計されています。デフォルトでは、HUP シグナルが送信されると、子プロセスは停止します。
これを回避するには、nohup コマンドで子プロセスを実行します:
$ nohup some_command
この手法は通常、システムにリモートでログインし、切断されていても一部のコマンドを実行し続けたい場合に使用されます。切断されると、実行中のすべてのプログラムに HUP シグナルが送信されます。 nohup コマンドを使用すると、この特定のプロセスを実行し続けることができます。
nohup コマンド オプション
nohup コマンドには、以下に示すように 2 つのオプションしかありません:
オプション | 説明 |
---|---|
–ヘルプ | このヘルプを表示して終了 |
–バージョン | バージョン情報を出力して終了 |