nohup コマンドは、シェルセッションが終了してもコマンドを実行し続けるために使用されます。通常、シェルが終了すると、そのシェルで実行されているすべてのプロセスも終了しますが、nohup を使用することで、シェルが終了しても指定したコマンドがバックグラウンドで実行され続けます。

nohup コマンドは、IEEE Std 1003.2(「POSIX.2」)に準拠しています。

基本的な使い方

編集
nohup コマンド [引数...]

主なオプション

編集
主なオプション
オプション 説明
--help ヘルプメッセージの表示
--version バージョン情報の表示

コマンドをバックグラウンドで実行する

編集
nohup command &

command をバックグラウンドで実行します。シェルが終了しても、command は引き続き実行されます。

nohup の出力をファイルにリダイレクト

編集
nohup command > output.log 2>&1 &

コマンドの標準出力と標準エラー出力を output.log にリダイレクトし、バックグラウンドで実行します。

nohup コマンドの動作について

編集

nohup コマンドは、実行されたコマンドの出力を nohup.out というファイルにリダイレクトします(ファイル名は変更可能)。これは、標準出力と標準エラー出力の両方がターミナルに表示されることを防ぐためです。もし nohup.out が作成できない場合、コマンドの出力は指定したファイルにリダイレクトすることも可能です。

また、nohup を使って実行されたコマンドは、シェルが終了した後も自動的にバックグラウンドで動作し続けます。このため、長時間実行されるプロセスを実行する場合に有効です。

その他の情報

編集

nohup は、バックグラウンドでコマンドを実行する際に便利なツールですが、デフォルトでプロセスがバックグラウンドで実行されるわけではないため、&(アンパサンド)を使ってバックグラウンドで実行する必要があります。