Linux上で、バックグラウンドで動作しているジョブをフォアグラウンドで動かすコマンドについて記載します。
バックグラウンドで動作しているジョブをフォアグラウンドで動かすにはfgコマンドを使用します。
ジョブとは、コマンドライン1行で実行された処理単位のことです。ジョブはシェルごとに管理され、「ジョブID」が振られます。1行のコマンドラインで複数のコマンドが実行された場合でも、その処理全体を1つのジョブとして扱います。
ジョブには「フォアグラウンドジョブ」と「バックグラウンドジョブ」の2種類があります。
フォアグラウンドジョブ・・・そのジョブが終了するまで端末画面上には次のプロンプトが表示されない。シェルごとに1つのみ
バックグラウンドジョブ・・・複数のジョブを同時に実行することができる。コマンドを実行する際に最後に「&」をつけて実行すると、バックグラウンドジョブとして処理される。
バックグラウンドジョブとして実行すると、ジョブは実行中のままでもシェルは停止しないため、同じシェル内で複数のジョブを実行することができます。
ジョブを制御する主なコマンド
jobs・・・バックグラウンドジョブとサスペンド(停止中)のジョブを表示
[Ctrl]+[z]・・・実行しているジョブをサスペンドする
bg % ジョブID・・・指定したジョブをバックグラウンドに移行
fg % ジョブID・・・指定したジョブをフォアグラウンドに移行
出典
LPICレベル1スピードマスター問題集, Version5.0対応, 101試験, 102試験対応
有限会社ナレッジデザイン 山本道子・大竹龍史 著