目次
概要
この記事では、nohup コマンドの使い方について解説します。
SIGHUP シグナル
SIGHUP (Signal Hang Up) は、UNIX 系オペレーティングシステムで使用されるシグナルの一種です。このシグナルは、セッションが切断された際に送出されます。
SIGHUP シグナルを受信した場合のデフォルトの挙動はプログラムの終了となっています。
セッションを終了後もプロセスを継続して実行したい場合は後述する nohup コマンドを使用して、コマンドを実行します。
nohup コマンド
nohup コマンドは、UNIX 系オペレーティングシステムで使われるコマンドの一つで、no hang up の略です。このコマンドを使うと、セッションの終了後もプロセスを継続して実行させることができます。主に長時間実行する必要があるスクリプトやコマンドをバックグラウンドで実行する際に使用されます。
基本的な使い方
nohup コマンドは、以下の形式で使用します:
nohup <command> &
ログアウト後もスクリプトを実行する
nohup ./example.sh &
このコマンドを実行すると、example.sh はバックグラウンドで実行され、ログアウトしても終了しません。
デフォルトでは、標準エラー出力は標準出力にリダイレクトされ、標準出力は nohup.out というファイルにリダイレクトされます。
出力を別ファイルにリダイレクトする
出力を output.log というファイルに標準出力、標準エラー出力をリダイレクトしたい場合、以下のようにリダイレクトを行います。
nohup ./example.sh > output.log 2>&1 &

コメント