ログアウトしてもバックグラウンド ジョブを継続する方法

ログアウトしてもバックグラウンド ジョブを継続する方法

SSH 接続で時間の掛かるシェルスクリプトをバックグラウンドで走らせて帰りたいのに、SSH 接続を切るとジョブが死んでしまいます。
SSH 接続に限らず目の前の OS からログアウトしたりターミナル エミュレータを終了しても同じ現象が起こります。

$ nohup ./abc.sh &

ジョブを kill されないようにするには nohup コマンドを使います。nohup コマンドは HUP シグナルを無視するようにプログラムを実行します。また標準出力、標準エラー出力はファイルになります。STDOUT, STDERR に出力データがなくてもファイルは作成されます。

nohup コマンドでバックグラウンドで走らせたいバッチ処理プログラムなどを実行すればログアウトしても kill されないのでプロセスは継続しますから心置きなく家へ帰れます 🙂 。nohup コマンドは Linux 以外にも Unix 系の OS なら使えるでしょう。私は Mac OS X で確認しています。無ければ GNU の coreutils にあります

http://www.codereading.com/article/background-jobs.html