用語集:ジョブ制御

実務で頻出する「ジョブ制御」関連の用語を、一言定義+最小実例でサッと確認。
シェル内のジョブ・プロセス管理を理解し、対話作業やバックグラウンド処理を安全に扱えるようにします。

このページで達成できること

  • ジョブとプロセスの違いを正しく理解
  • フォアグラウンド/バックグラウンドの切替を整理
  • 停止・再開・裏送りの基本操作を習得
  • 関連するシェル機能や制御の制限を把握

すぐ引けるミニ索引

用語一言で代表コマンド
ジョブシェルが管理する実行単位(複数プロセスを含む)jobs, fg, bg
フォアグラウンド端末を占有して動く実行状態fg
バックグラウンド端末を解放して裏で走る実行状態&, bg
停止(サスペンド)実行を一時中断<Ctrl+Z>
ジョブ番号%1, %2 のようにシェル内で参照する番号jobs -l
disownジョブをシェル管理から外すdisown
nohupログアウト後も継続させるラッパーnohup
非対話制御の制約cronやsystemdではジョブ制御不可

用語解説(繰り返しブロック)

ジョブ(job)

とは:シェルが管理する実行単位。1ジョブは1つ以上のプロセスで構成される。
最小実例

sleep 10 | sleep 20 &   # 1ジョブ=2プロセス
jobs -l

関連:プロセス / プロセスグループ / セッション
落とし穴kill %1はジョブ番号宛。PIDと混同しないこと。

フォアグラウンド実行

とは:端末を占有して実行されるジョブ。終了まで次の操作を受け付けない。
最小実例

sleep 30   # フォアグラウンド

関連fg / 前面復帰
落とし穴:長時間コマンドをフォアグラウンドで実行すると端末を塞ぐ。

バックグラウンド実行

とは:端末を解放して裏で実行されるジョブ。&で送る。
最小実例

sleep 100 &
jobs

関連& / jobs / bg
落とし穴:ログアウト時に終了(SIGHUP)する → nohupdisownで回避。

停止(サスペンド)

とはCtrl+Zで実行中のジョブを一時中断状態にすること。
最小実例

<Ctrl+Z>
jobs

関連fg / bg / シグナル(SIGTSTP)
落とし穴:停止状態のまま放置するとリソースは解放されない。

ジョブ番号

とは:シェル内でジョブを識別する番号。%1のように参照できる。
最小実例

jobs -l
kill %1

関連jobs / fg / bg
落とし穴:セッションごとに振り直されるため、他の端末からは使えない。

disown

とは:ジョブをシェルの管理から外し、ログアウト後も残す。
最小実例

sleep 200 &
disown %1

関連jobs / nohup
落とし穴disownしたジョブはjobsに表示されなくなる。

nohup

とは:ログアウト後もプロセスを生存させるラッパー。標準出力はnohup.outに保存される。
最小実例

nohup long-task.sh &

関連disown / systemd
落とし穴:出力ファイルがカレントに溜まる。リダイレクト推奨。

非対話制御の制約

とは:cronやsystemdなど非対話環境ではジョブ制御(Ctrl+Z, fg, bg)が効かない。
最小実例

# cronやsystemdでは fg/bg/jobs は無効

関連systemd / サービス管理
落とし穴:サーバー運用ではジョブ制御に依存しない設計が必須。

運用の現場Tips

  • 長時間処理は最初からバックグラウンド+ログ管理を設計する
  • SIGHUP対策にはnohupdisown、本格運用はsystemd
  • 停止と再開は開発・検証向け。運用環境では状態不一致を招くため避ける
  • ジョブ制御は便利だが対話限定機能であることを忘れないこと

関連リンク(学習ハブ内)

学びを“実務”へつなぐ最短ルート

独学で積み上げた「わかった」を、仕事で使える「できる」へ。
学習ハブの内容を踏まえて、実務に直結する学習設計・添削・質問環境を整えたい人は、下記のページで具体的な進め方を確認してください。

Bash玄

はじめまして!Bash玄です。

エンジニアとしてシステム運用に携わる中で、手作業の多さに限界を感じ、Bashスクリプトを活用して業務を効率化したのがきっかけで、この道に入りました。「手作業は負け」「スクリプトはシンプルに」をモットーに、誰でも実践できるBashスクリプトの書き方を発信しています。

このサイトでは、Bashの基礎から実践的なスクリプト作成まで、初心者でもわかりやすく解説しています。少しでも「Bashって便利だな」と思ってもらえたら嬉しいです!

# 好きなこと
- シンプルなコードを書くこと
- コマンドラインを快適にカスタマイズすること
- 自動化で時間を生み出すこと

# このサイトを読んでほしい人
- Bashに興味があるけど、何から始めればいいかわからない人
- 定型業務を自動化したい人
- 効率よくターミナルを使いこなしたい人

Bashの世界に一歩踏み出して、一緒に「Bash道」を極めていきましょう!

Bash玄をフォローする