メモ。
ターミナル終了後もプロセスを継続させたいとき - masutaroの日記
$ nohup コマンド &
$ Ctrl + z
$ jobs
$ bg %ジョブ番号
$ disown %ジョブ番号
例2 標準出力先を指定する
$ nohup ./abc.sh > out.log &
例3 標準エラー出力先を指定する
$ nohup ./abc.sh > out.log 2> err.log &
注意点 標準入力を閉じる SSH でログインしている場合は3つの I/O ストリーム をリダイレクトしておきます。SSH 接続でバックグラウド ジョブを実行する場合、日常的に標準出力、標準エラー出力をリダイレクトしていると思いますがここで重要なのは標準入力を閉じておくことです。具体的には /dev/null にします。
$ nohup ./abc.sh > out.log 2> err.log < /dev/null &
詳しいことは SSH Frequently Asked Questions をご覧下さい。
バックグラウンド ジョブとして実行する
もうひとつ、nohup は実行したプログラムを自動的にバックグラウンド ジョブにするものではありません。バックグラウンドで実行するなら & を付けて実行するか bg コマンドで移行させましょう。
実行中のプログラムを終了する nohup で実行中のプログラムを終了させるにはプロセスIDを調べて kill コマンドで強制終了(kill -KILL)します。