【Linux】ジョブ制御

 ジョブ制御とは、シェル内で実行されるプロセスの管理方法です。ユーザーはシェルを使ってジョブをバックグラウンドで実行したり、一時停止したり、再開したりすることができます。

用語の定義

用語定義
ジョブシェルで実行されるプロセスのこと。
ジョブ番号シェルによってジョブに割り当てられる一意の番号。
フォアグラウンドユーザーの入力を受け付けながら実行されるジョブ。
バックグラウンドユーザーの入力を受け付けずにバックグラウンドで実行されるジョブ。
用語の定義

ジョブ番号

 ジョブを実行すると、シェルはそのジョブに一意のジョブ番号を割り当てます。ジョブ番号を使用して、特定のジョブを管理することができます。

$ sleep 100 &
[1] 12345  # [1]がジョブ番号、12345がプロセスID

フォアグラウンドとバックグラウンド

モード説明
フォアグラウンドユーザーの入力を受け付けながら実行されるジョブ。シェルはそのジョブが終了するまで待機します。
バックグラウンドユーザーの入力を受け付けず、バックグラウンドで実行されるジョブ。シェルはすぐにプロンプトを返します。
フォアグラウンドとバックグラウンド

フォアグラウンドジョブの実行例

$ sleep 100  # この間、シェルは他の入力を受け付けません。

バックグラウンドジョブの実行例

$ sleep 100 &  # バックグラウンドで実行され、シェルはすぐにプロンプトを返します。
[1] 12345

まとめ

 ジョブ制御はシェル内でのプロセス管理を行う重要な機能です。ユーザーはジョブ番号を使ってジョブを識別し、フォアグラウンドやバックグラウンドでジョブを実行・管理できます。

用語説明
ジョブシェルで実行されるプロセス。
ジョブ番号ジョブを一意に識別するためにシェルが割り当てる番号。
フォアグラウンドユーザー入力を受け付けながら実行されるジョブ。
バックグラウンドユーザー入力を受け付けず、バックグラウンドで実行されるジョブ。
まとめ