nohup の使い方

ログアウトしても止まらないように動かす

書き方

nohup コマンド &

ログアウトするとシェルから送られる HUP の合図を無視させます。画面への出力は nohup.out に書かれます。

例

$ nohup ./long-task.sh &nohup: ignoring input and appending output to 'nohup.out'

ログアウトしても止まらないように、後ろで動かします。画面への出力は nohup.out に書かれます。

$ nohup ./long-task.sh > task.log 2>&1 &

出力とエラーを task.log にまとめて書きます。

$ tail -f nohup.out

後ろで動いている処理の出力を見続けます。Ctrl+C で見るのをやめても、処理は止まりません。

よくある間違い・注意

  • 最後の & を忘れると、前で動くのでプロンプトに戻りません。
  • ずっと動かしておくサービスは、nohup ではなく systemd のサービスにするほうが安全です(落ちたときに自動で起動し直せます)。

実際に打って練習する

Linux レベル1 コースの Lv82「主が去っても nohup」で覚えます(第5章 見張りの塔(環境・ジョブ・ログ・時刻))。ブラウザの中のシミュレーターで、本物と同じように打って確かめられます。

Lv1〜16 は、登録不要・無料で遊べます(それより先はブロンズ以上のプランで遊べます)。

Linux コマンド一覧(LinuC レベル1 の範囲)へ戻る