通常、Linuxでは、接続が切断されるか、ユーザーがシステムからログアウトすると、セッションが終了し、ターミナルから実行されたすべてのプロセスが停止します。ログアウトした後やシステムを終了した後もプログラムまたはコマンドをバックグラウンドで実行し続けたい場合は、nohupコマンドを使用する必要があります。
nohupコマンドは、提供された引数を使用して他のプログラムまたはコマンドを実行し、すべてのハングアップ信号を無視します。このコマンドは、特にSSH経由でサーバーに接続していて、サーバーから切断した後もプログラムまたはコマンドをバックグラウンドで実行し続ける場合に役立ちます。
NohupLinuxコマンド
構文:
nohup COMMAND [ARGS]
または
$ nohup options
nohupコマンドに関するヘルプを見つけるには:
$ nohup --help
nohupのバージョン情報を見つけるには、次のコマンドを使用します。
$ nohup --version
1。フォアグラウンドでコマンドを実行する
デフォルトでは、nohumコマンドはフォアグラウンドで実行され、出力を「nohup.output」ファイルにリダイレクトします。このファイルは、現在の作業ディレクトリに作成されます。ユーザーに権限がない場合は、ユーザーのホームディレクトリに作成されます。
$ nohup ls
例:

2。コマンドをバックグラウンドで実行する
フォアグラウンドでnohupコマンドを使用すると、コマンドの実行が終了するまで端末と対話できないという欠点があります。したがって、これを回避するために、このようにバックグラウンドでコマンドを実行します
$ nohup ping fosslinux.com
例:

上記の例では、すべてのコマンド出力がnohup.outファイルに追加されることがわかります。このファイルは、ターミナルの「catnohup」コマンドを使用して表示できます。
[1] 2233
ここで、[1]はジョブID、2233はバックグラウンドプロセスの(PID)です。このプロセスIDを使用して、バックグラウンドプロセスを強制終了できます:
$ kill 2233
上記のコマンドはバックグラウンドプロセスを強制終了します。
3。出力をファイルにリダイレクトする
デフォルトでは、nohupコマンドは出力をnohup.out
に書き込みます ファイル。標準のシェルリダイレクトを使用して、独自の出力ファイルを定義することもできます。
$ nohup ls > list.out
例:

次のコマンドラインを使用して、出力用とエラー用に別々のファイルを作成することもできます。
nohup ls > list.out 2 > list.err
4。複数のコマンドの実行
nohupで複数のコマンドを実行することもできます。以下の例では、mkdir、bash、およびlsコマンドがバックグラウンドで実行されています。
$ nohup bash -c 'mkdir fossDir && ls'
例:

結論
このチュートリアルでは、nohupコマンドの使用法を簡単な例で説明します。これで、このコマンドの有用性を十分に理解できるようになることを願っています。コメントを残してください。