新Linux入門|フォアグラウンド・バックグラウンド・jobs・fg・bg・killの使い方

Linuxでは、コマンドを実行するときに「ジョブ」という単位で処理が動いています。
そのジョブを前面で動かす(フォアグラウンド)のか、裏で動かす(バックグラウンド)のか、
さらに「停止」「再開」「終了」などを制御する仕組みが用意されています。

この記事では、
ジョブの基本から jobs・fg・bg・kill コマンドの使い方までをやさしく解説します🌈

⚙️ ジョブとは?

Linuxで実行されるすべてのコマンドやプログラムは、ジョブ(job)として管理されます。
ジョブとは、ユーザーから見た処理の単位のことです。
たとえば、sleep 10 を実行すれば「10秒待つジョブ」が1つ動いています。

用語意味補足
ジョブ(job)ユーザーから見た処理の単位コマンド1つ1つやスクリプト実行が該当
プロセス(process)OSが管理するプログラムの実体各ジョブに1つ以上存在する。
PID(Process ID)各プロセスに割り当てられる番号killコマンドなどで利用

💬ポイント
パイプ( | )でつないだ複数のコマンドも、まとめて1つのジョブとして扱われます。
ジョブの管理を理解することで、作業効率がグッとアップします✨

🎛️ フォアグラウンドジョブとバックグラウンドジョブ

ジョブには主に2つの実行モードがあります👇

種類特徴実行例説明
フォアグラウンドジョブ実行中は他のコマンド入力ができない。sleep 10終了を待つ必要がある。
バックグラウンドジョブ実行中も他のコマンドが使える。sleep 10 &「&」を付けると裏で実行

🖥️ フォアグラウンド実行の例

[suzuki@AlmaLinux ~]$ sleep 10

➡ この場合、10秒間は待たされ、次のコマンドが入力できません。

🌙 バックグラウンド実行の例

[suzuki@AlmaLinux ~]$ sleep 10 &
[1] 12345

➡ [1] はジョブ番号、12345 はプロセスID(PID)です。
この間も、他の作業を続けることができます✨

🧩 jobsコマンド:実行中ジョブの確認

 バックグラウンドで動いているジョブや一時停止中のジョブを確認したいときは、jobsコマンド を使います。

コマンド書式

jobs [オプション]

主なオプション

オプション説明
-lプロセスID(PID)も表示
-r実行中のジョブのみ表示
-s停止中のジョブのみ表示

[suzuki@AlmaLinux ~]$ jobs -l
[1]+  12345 Running  sleep 10 &

💡ポイント
Running は実行中、Stopped は一時停止中を意味します。

🔄 fgコマンド:ジョブをフォアグラウンドに戻す

一度バックグラウンドで実行したジョブを、再び前面で操作したいときに使うのが fgコマンド です。

コマンド書式

fg [%ジョブ番号]

[suzuki@AlmaLinux ~]$ fg %1
sleep 10

➡ ジョブ番号1番のジョブがフォアグラウンドに戻り、ターミナルを占有します。

🔁 bgコマンド:ジョブをバックグラウンドで再開

一時停止しているジョブを、バックグラウンドで再開させたいときに使うのが bgコマンド です。

コマンド書式

bg [%ジョブ番号]

[suzuki@AlmaLinux ~]$ bg %1
[1]+ sleep 100 &

➡ sleep 100 がバックグラウンドで再開します。

💡ポイント
ジョブを一時停止するには、フォアグラウンド実行中に Ctrl + Z を押します。

🧨 killコマンド:ジョブやプロセスの終了

実行中のジョブやプロセスを終了させたいときは、killコマンド を使います。

コマンド書式

kill [オプション] [PIDまたは%ジョブ番号]

主なオプション

オプション説明
-l利用可能なシグナル一覧を表示
-s シグナル名または番号送るシグナルを指定
-9強制終了(SIGKILL)を送信

使用例

[suzuki@AlmaLinux ~]$ jobs
[1]+  Running  sleep 100 &
[suzuki@AlmaLinux ~]$ kill %1
[1]+  Terminated  sleep 100

➡ ジョブ番号1番のジョブが終了しました。

🧠 便利なジョブ操作の流れまとめ

操作内容コマンド補足
フォアグラウンドで実行コマンド終了を待つ
バックグラウンドで実行コマンド &他の作業を並行可能
一時停止Ctrl + Zフォアグラウンド中のみ有効
バックグラウンドで再開bg %ジョブ番号停止したジョブを再開
フォアグラウンドに戻すfg %ジョブ番号対話的操作を再開
実行中ジョブの一覧表示jobsジョブ番号を確認
ジョブの終了kill %ジョブ番号安全終了 or 強制終了

💬ポイント
この流れを覚えておけば、ジョブ管理の基本操作は完璧です💪

🌈 まとめ

🔹 ジョブ(job) はユーザから見た処理単位。
🔹 フォアグラウンド は待機型、バックグラウンド は並行型。
🔹 jobs / fg / bg / kill を使えば、ジョブを自由自在に管理できる✨

 このジョブ管理の仕組みを理解すれば、長時間の処理や複数タスクの同時実行もスムーズにこなせます!
AlmaLinuxでも、ぜひ実際に試して体感してみてください😉