No.079プロセスとジョブ

nohup

ノーハップ・ハングアップ無視実行

知識レベル 実践安全に試せる一般ユーザーで使える

端末切断に影響されにくい形でコマンドを起動します。長時間処理をログアウト後も継続させたい時の基本手段です。

答えよく使う形

  1. 出力先を明示すると、端末切断後も結果をログで追いやすくなります
  2. 背景で実行するためによく組み合わせます
  3. ログ保存先を明示します
visitor@goodly: ~

$ nohup sh -c "sleep 2; echo done" > nohup-demo.log 2>&1 & wait

done

$ nohup long-task &

$ nohup sh -c "sleep 10; echo done" > run.log 2>&1 &

覚える順番の中でLPIC-1・58 駅め / 106

どんなコマンド?

こんなときに

SSH越しの長時間処理、ログ生成、手動実行の保守作業、途中で端末を閉じる可能性があるバッチ処理に使います。

nohupは、端末切断時に送られるSIGHUPを無視してコマンドを実行するコマンドです。SSH接続を閉じた後も処理を続けたい場面でよく使われます。

多くの場合、裏で実行したいなら&と組み合わせます。また、標準出力と標準エラーはnohup.outなどへ向け直されることがあるため、出力先を明示するのが実務的です。

長期運用や自動起動が必要なら、systemdサービスやジョブスケジューラを使うべきです。

書き方とオプション

組み立ててみるオプションを押すと、下の1行に足されます。もう一度押すと外れます。

$ nohup

使用例と実行結果

行を押すとコピーできます。

done
出力先を明示すると、端末切断後も結果をログで追いやすくなります。

まず安全に試す

3分ミッション

手を動かすと覚えやすくなります。できたものに印を付けてください(この端末に残ります)。

0 / 2

つまずいたとき

nohupしたのに端末を閉じると困る挙動になった

原因出力先や標準入力の扱いを理解せず起動しました。

こうする出力リダイレクトを明示し、必要なら標準入力も閉じます。

nohupで常駐化したつもりだった

原因nohupは端末切断耐性を与えるだけで、サービス管理機能はありません。

こうする継続運用ならsystemdサービスなどを使います。

終わったときの数(戻り値)

$ echo $?

  • 0正常終了。コマンド起動に成功しました。
  • >0起動対象不存在、権限不足などで起動できませんでした。

気をつけることと入れ方

気をつけること

危険度は低いですが、nohupだけで永続運用できると思い込むと管理が甘くなります。出力先や停止方法まで含めて考える必要があります。

環境による違い

POSIXで定義されていますが、シェル組み込みとして提供される場合もあります。標準出力や標準エラーの向き先は実装差に注意してください。

確かめた環境2026-04-09 に確認

よくある質問

nohupだけでバックグラウンドになりますか。

通常は&と組み合わせて裏実行します。

screenやtmuxの代わりになりますか。

一部は重なりますが、対話セッションの継続や再接続まで必要ならscreenやtmuxのほうが適しています。

資格試験では

  • LinuC レベル1大事1.01.4 プロセスの生成、監視、終了
  • LPIC-1大事103.5 Create, monitor and kill processes
  • 共通基礎大事Linuxコマンド基礎

nohup を最後まで読みました。

Linux コマンド辞典に戻る76 / 144

Goodly のメニュー