図 ジョブの状態を確認してから,フォアグラウンド・ジョブとバッググラウンド・ジョブを切り替えた様子
図 ジョブの状態を確認してから,フォアグラウンド・ジョブとバッググラウンド・ジョブを切り替えた様子
[画像のクリックで拡大表示]

 同時に複数のジョブ(プロセス)を実行できる,UNIX系OSやWindows NT/2000/XP/Vista,Mac OS Xといったマルチタスク対応のOSにおいて,ユーザーが操作対象にできるジョブを「フォアグラウンド・ジョブ」といいます。一方,操作対象になっていませんが,処理を継続しているジョブを「バックグラウンド・ジョブ」といいます。

 Linuxでは,シェル上でコマンドを実行すると,その作業は通常フォアグラウンド・ジョブとして処理されます。フォアグラウンド・ジョブを実行中のシェルでは,作業が終了するまで,次のコマンドを実行できません(コマンド・プロンプトが戻ってきません)。一方,コマンド名に続けて「&」を付けて実行すると,バックグラウンド・ジョブとして処理されます。バックグラウンド・ジョブとして実行した場合は,その処理が終わらなくても,次のコマンドを受け付けられます。

 ジョブは,jobsコマンドで一覧できます。バッググラウンド・ジョブは,fgコマンドの後に,対象となるジョブの番号(一覧表示で確認できます)を続けて実行すると,フォアグラウンド・ジョブに切り替えられます(を参照)。フォアグラウンド・ジョブをバッググラウンド・ジョブに切り替える場合は,いったんCtrlキーを押しながらZキーを押すなどして,処理を中断させてからbgコマンドを実行します。