Shoeisha Technology Media

CodeZine(コードジン)

記事種別から探す

nohup

ハングアップに反応しないようにしてコマンドを実行する
2015/05/20 08:00

対応OS: linux , freebsd, solaris
nohup COMMAND [ARG...]

 nohupコマンドを実行して起動したコマンドは、ハングアップシグナルを無視します。また、バックグランドジョブとして起動(コマンドの末尾に「&」を付けます)したコマンドは、ログアウト後も、バックグランドで実行を続けます。

 ジョブの優先度の値は5だけ加えられて優先度が低くなるので、CPUの割りあて時間がやや短くなります。

 標準出力が画面の時は、標準出力と標準エラー出力は「nohup.out」というファイルに追加書き込みモードでリダイレクトされます。「nohup.out」への書き込みができない場合は「$HOME/nohup.out」というファイルに追加書き込みします。それでも書き込めない場合は、コマンドの出力結果は出力されません。

「nohup.out」と「$HOME/nohup.out」

 nohupコマンドでは、標準出力と標準エラー出力を「nohup.out」というファイル名でカレントディレクトリに追加書き込みでリダイレクトします。この時、すでにカレントディレクトリに「nohup.out」という名前のファイルが存在し、その書き込み権限がなかった場合、ホームディレクトリ($HOME)の「nohup.out」というファイルにリダイレクトします

引数
① COMMAND ARG...
実行するコマンドをCOMMANDで指定します。ARGにはCOMMANDに対するオプションと引数を指定します。
ハングアップに反応しないように、コマンドをバックグラウンドで実行する
$ nohup find / -name index.htm -print 2> /dev/null & 
[1] 4069
$ nohup: appending output to 'nohup.out'
$ logout
ログアウト後もバックグランドジョブとして残り、処理(この場合ファイル検索)の実行を続ける

関連タグ

UNIXコマンド辞典トップページに戻る

All contents copyright © 2006-2017 Shoeisha Co., Ltd. All rights reserved. ver.1.5