No.076プロセスとジョブ

fg

エフジー・フォアグラウンド復帰

知識レベル 入門安全に試せる一般ユーザーで使えるシェルに組み込み

ジョブを前面へ戻して再開するシェル組み込みです。Ctrl+Zや&と組み合わせると、対話シェル上で処理の前後関係を切り替えられます。

答えよく使う形

  1. 停止中ジョブを前面へ戻すと、端末がその処理に再び結び付けられます
  2. 対象ジョブを指定します
visitor@goodly: ~

$ sleep 300 # Ctrl+Z jobs -l fg %1

[1]+ Stopped         sleep 300
sleep 300

$ fg

$ fg %1

覚える順番の中でLPIC-1・51 駅め / 106

どんなコマンド?

こんなときに

停止したジョブや背景処理を対話的に扱いたい時に使います。

fgは、シェルのジョブ制御機能を扱うための組み込みコマンドです。ジョブとは、現在のシェルから起動され、シェルが前面、背面、停止状態として追跡している処理単位を指します。

fgは外部コマンドではなく、現在のシェル自身が管理しているジョブへ作用する点が重要です。そのため、別シェルや非対話シェルでは期待どおりに使えないことがあります。

実務では、対話的な確認作業の途中で一時停止して別作業を行う、長い処理を裏へ回して端末を取り戻す、といった場面で役立ちます。ただし、永続的なサービス運用の代わりになるものではありません。

書き方とオプション

組み立ててみるオプションを押すと、下の1行に足されます。もう一度押すと外れます。

$ fg

使用例と実行結果

行を押すとコピーできます。

[1]+ Stopped         sleep 300
sleep 300
停止中ジョブを前面へ戻すと、端末がその処理に再び結び付けられます。

まず安全に試す

  1. Ctrl+Cで終了する

3分ミッション

手を動かすと覚えやすくなります。できたものに印を付けてください(この端末に残ります)。

0 / 1

つまずいたとき

fg: no job controlと表示された

原因非対話シェルなどでジョブ制御が無効です。

こうする対話シェルで試し、ジョブ制御が有効か確認します。

fgしたら端末操作が戻らない

原因対象ジョブが前面へ戻ったため、その処理が終了するまで端末が占有されます。

こうする必要ならCtrl+Zで再停止し、bgで背景再開するか、Ctrl+Cで終了します。

終わったときの数(戻り値)

$ echo $?

  • 0正常終了。ジョブ操作または一覧表示に成功しました。
  • >0ジョブ制御無効、対象ジョブ不存在などで処理できませんでした。

気をつけることと入れ方

気をつけること

危険度は低いですが、ジョブ指定を取り違えると意図しない処理を前面や背面へ動かします。まずjobsで状態を確認してから操作すると安全です。

シェル(bash など)に組み込まれたコマンドです。入れるものはありません。

環境による違い

ジョブ制御が有効な対話シェルでだけ意味を持ちます。非対話シェルやジョブ制御無効環境では期待どおりに使えません。

確かめた環境2026-04-09 に確認

よくある質問

fgすると何が起きますか。

対象ジョブが前面へ戻り、その処理が端末を占有します。完了または停止するまで次の入力はその処理へ向かいます。

systemdサービスの代わりになりますか。

なりません。ジョブ制御は現在のシェル内だけの対話機能です。

資格試験では

  • LinuC レベル1大事1.03.1 コマンドラインの操作LinuCレベル1では、ジョブ制御やシェル上の対話操作がコマンドライン運用の基礎として重視されます。
  • LPIC-1大事103.1 Work on the command lineLPIC-1では、シェル上での対話操作、ジョブ制御、実行環境の扱いが重要です。
  • 共通基礎大事Linuxコマンド基礎

fg を最後まで読みました。

Linux コマンド辞典に戻る31 / 144

Goodly のメニュー