ログアウトしてもプログラムを実行し続ける方法 [Unix]
TeraTermやPoderosa等ターミナルクライアントからサーバに
接続し、プログラムを実行している場合、ターミナルクライアント
が終了したり、SSH接続が切れたりすると、ハングアップ(HUP)
シグナルによってプログラムは強制的に終了されます。
希に、実行結果が得られるまでに数時間、または何日もかかる
ようなプログラムを実行する場合、非常に困ります。
この場合には、nohupコマンドを利用することで、ターミナル
クライアントが落ちたり、SSH接続が切れた場合でも、HUP
シグナルを無視してプログラムを終わるまで実行し続けること
が可能になります。
例)巨大なログファイルを分割する場合等
# nohup split -b 500m access_log access_log.
→上記はApacheのaccess_logを500MBずつ分割するコマンド
尚、実行中のプログラムを確認した場合は、psコマンドやtopで
また、中止するときは、psコマンド等でプロセスIDを調べてkill
コマンドを実行すればOK。
接続し、プログラムを実行している場合、ターミナルクライアント
が終了したり、SSH接続が切れたりすると、ハングアップ(HUP)
シグナルによってプログラムは強制的に終了されます。
希に、実行結果が得られるまでに数時間、または何日もかかる
ようなプログラムを実行する場合、非常に困ります。
この場合には、nohupコマンドを利用することで、ターミナル
クライアントが落ちたり、SSH接続が切れた場合でも、HUP
シグナルを無視してプログラムを終わるまで実行し続けること
が可能になります。
例)巨大なログファイルを分割する場合等
# nohup split -b 500m access_log access_log.
→上記はApacheのaccess_logを500MBずつ分割するコマンド
尚、実行中のプログラムを確認した場合は、psコマンドやtopで
また、中止するときは、psコマンド等でプロセスIDを調べてkill
コマンドを実行すればOK。
2013-07-10 12:00
nice!(0)
コメント(0)
コメント 0