nohupを使う (サーバーからログアウトしても、処理が止まらないようにしたい)
unix nohup
Published: 2017-10-16

目的

自分は、サーバーにログインして作業することが多いのですが、

例えば、処理終了まで長い時間がかかるバッチのコマンドを手動で実行している時に

不意に意図せずサーバーからログアウトされてしまう時に困ることがありました。

困ることとは、サーバーからログアウトした場合、手動で実行したコマンドも止まってしまうことです。

今回は、サーバーからログアウトした場合に、手動で実行したコマンドは動き続けるようにする方法を調べたので、紹介します。

解決策

解決策は、ズバリ、nohupコマンドです。

使用例)

$ nohup php hogehoge.php > abc.log &
  • php hogehoge.php は処理終了まで長時間かかるコマンドの例です
  • 出力先を指定しなかったら、nohup.out に出力します(使用例では、出力先をabc.logとしています)
  • &はコマンドをバックグラウンドで実行します

参考情報

  • みんな大好きmanコマンド
$ man nohup