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