fg コマンド
目的
ジョブをフォアグラウンドで実行します。
構文
fg [JobID]
説明
ジョブ制御が使用可能になっている場合、fg コマンドは、現在の環境内のバックグラウンド・ジョブをフォアグラウンドに移動します。 フォアグラウンドで実行する特定のジョブを示すには、JobID パラメーターを使用します。 このパラメーターを指定していない場合は、fg コマンドによって、最後に延期されたジョブ、バックグラウンドにあるジョブ、バックグラウンド・ジョブとして実行されるジョブのいずれかが使用されます。
JobID パラメーターは、プロセス ID 番号の場合もあります。または、次の記号の組み合わせのいずれか 1 つを指定することもできます。
| 項目 | 説明 |
|---|---|
| %Number | ジョブ番号別にジョブを参照します。 |
| %String | 指定文字列で名前が始まるジョブを参照します。 |
| %?String | 指定文字列が名前に含まれているジョブを参照します。 |
| %+ または %% | 現行ジョブを参照します。 |
| %- | 直前のジョブを参照します。 |
fg コマンドを指定して、ジョブをフォアグラウンドに移動させると、現在のシェル環境で認識されるジョブのリストからそのジョブのプロセス ID が除去されます。
/usr/bin/fg コマンドは、このコマンド固有の実行環境で動作させると機能しません。これは、この環境では操作に適したジョブがないためです。 したがって、fg コマンドは Korn シェル (POSIX シェル) の正規組み込みコマンドとして組み込まれています。
終了状況
次の終了値が戻されます。
| 項目 | 説明 |
|---|---|
| 0 | 正常終了。 |
| >0 | エラーが発生しました。 |
ジョブ制御が不可能な場合は、fg コマンドはエラーを出して終了し、ジョブはフォアグラウンドに移動しません。
例
jobs -l コマンドの出力に、バックグラウンドで実行される次のジョブが示された場合を考えてみます。
[1] + 16477RunningSleep 100 &この場合、プロセス ID を使用し、次のように入力して sleep 100 & コマンドをフォアグラウンドで実行します。
fg 16477画面には次のように表示されます。
sleepファイル
| 項目 | 説明 |
|---|---|
| /usr/bin/ksh | Korn シェルの fg 組み込みコマンドが入っています。 |
| /usr/bin/fg | fg コマンドが入っています。 |