No.079プロセスとジョブ
nohup
ノーハップ・ハングアップ無視実行
端末切断に影響されにくい形でコマンドを起動します。長時間処理をログアウト後も継続させたい時の基本手段です。
答えよく使う形
$ 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 &
練習用の部屋です。何を打っても本物は変わりません。本物の Linux で続ける →
覚える順番の中で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