カテゴリ: Linux 更新日: 2026/04/23

Linuxのfgコマンド徹底解説!バックグラウンドジョブを前面に戻す方法

Linuxのfgコマンドとは?バックグラウンドジョブを前面に戻す方法
Linuxのfgコマンドとは?バックグラウンドジョブを前面に戻す方法

先生と生徒の会話形式で理解しよう

生徒

「先生、Linuxで実行中のプログラムを一旦止めて、あとでまた操作したいときってどうするんですか?」

先生

「それはLinuxのジョブ管理を使う方法があります。プログラムをバックグラウンドで実行したり、fgコマンドで前面に戻したりできます。」

生徒

「バックグラウンドジョブって何ですか?」

先生

「バックグラウンドジョブとは、ターミナルを占有せずに実行されているプログラムのことです。Linuxでは&を使ってコマンドをバックグラウンドで起動できます。」

生徒

「なるほど、でも途中でそのプログラムを操作したくなったら?」

先生

「そんなときに使うのがfgコマンドです。バックグラウンドジョブを前面に戻して、再び操作できるようになります。」

Linuxを初めて学ぶ人や、 OS・プロセス・メモリ管理・仮想マシン・コンテナの仕組みを図解で理解したい人におすすめの定番書籍です。

試して理解 Linuxのしくみを見る

※ Amazonアソシエイト広告リンク

1. fgコマンドとは?

1. fgコマンドとは?
1. fgコマンドとは?

fgコマンドは、Linuxシェル(bashやzshなど)で使用できるバックグラウンドジョブを前面に戻すコマンドです。読み方はfg(エフジー)で、ターミナルで停止しているジョブやバックグラウンドで動作しているジョブを簡単に操作できるようになります。

例えば、長時間実行するプログラムを一時停止させておき、後で操作を再開したいときに便利です。Linuxのジョブ管理やターミナル操作の基本的な知識として覚えておくと役立ちます。

2. バックグラウンドジョブの作り方

2. バックグラウンドジョブの作り方
2. バックグラウンドジョブの作り方

Linuxでジョブをバックグラウンドで実行するには、コマンドの末尾に&をつけます。これでターミナルを占有せずにプログラムが実行されます。


sleep 60 &
[1] 12345

上の例ではsleep 60というコマンドが60秒間実行されますが、&をつけることでバックグラウンドで動作します。[1] 12345はジョブ番号とプロセスIDを示しています。

3. ジョブの一覧を確認する

3. ジョブの一覧を確認する
3. ジョブの一覧を確認する

バックグラウンドジョブを確認するには、jobsコマンドを使います。これで現在ターミナルで管理されているジョブを一覧表示できます。


jobs
[1]+  Running                 sleep 60 &

この例では、ジョブ番号1sleep 60がバックグラウンドで実行中であることがわかります。ジョブ番号はfgコマンドで指定する際に必要です。

4. fgコマンドでバックグラウンドジョブを前面に戻す

4. fgコマンドでバックグラウンドジョブを前面に戻す
4. fgコマンドでバックグラウンドジョブを前面に戻す

バックグラウンドジョブを再び操作したい場合は、fgコマンドを使います。基本的な使い方は以下の通りです。


fg %1
sleep 60

ここで%1はジョブ番号です。ジョブ番号を指定せずにfgだけでも、直近のバックグラウンドジョブが前面に戻されます。

5. ジョブの一時停止と再開

5. ジョブの一時停止と再開
5. ジョブの一時停止と再開

実行中のプログラムを一時停止したい場合は、Ctrl + Zを押します。これでジョブがバックグラウンドに移動し、jobsコマンドで確認できます。


sleep 300
^Z
[1]+  Stopped                 sleep 300

停止したジョブは、fg %1で前面に戻すことができます。ジョブ番号を確認して正しく指定しましょう。

6. 複数ジョブの管理方法

6. 複数ジョブの管理方法
6. 複数ジョブの管理方法

複数のバックグラウンドジョブを同時に扱う場合も、ジョブ番号を使って操作できます。例えば、2つ目のジョブを前面に戻したい場合は次のようにします。


fg %2

Linuxではjobsコマンドでジョブ番号を確認し、fgで必要なジョブを前面に戻すことで柔軟に操作できます。

7. fgコマンドの便利な応用例

7. fgコマンドの便利な応用例
7. fgコマンドの便利な応用例

例えば、バックグラウンドで大きなファイルをダウンロードしながら作業している場合、fgを使えば進捗を確認できます。


wget http://example.com/largefile.zip &
[1] 23456
fg %1

こうすることで、ダウンロード中のプロセスをターミナルで直接確認できるため、状況に応じて操作が可能です。

8. Linux初心者向けの注意点

8. Linux初心者向けの注意点
8. Linux初心者向けの注意点

fgコマンドは簡単ですが、ジョブ番号を間違えると別のプロセスを操作してしまうことがあります。また、root権限で実行中のプロセスは一般ユーザーからfgできない場合があります。基本的には自分が起動したジョブに対して使うことが推奨されます。

9. Linuxでのジョブ管理まとめ

9. Linuxでのジョブ管理まとめ
9. Linuxでのジョブ管理まとめ

Linuxでバックグラウンドジョブを管理する基本的な流れは以下の通りです。

  • コマンドの末尾に&をつけてバックグラウンドで実行
  • jobsでジョブの一覧を確認
  • Ctrl + Zで一時停止
  • fg %ジョブ番号で前面に戻す

これらの操作を覚えると、Linuxのターミナルで複数のプログラムを効率的に管理できるようになります。

LPICレベル1の合格を目指している人や、 Linuxコマンド・シェル・ネットワーク・セキュリティの試験対策を効率よく進めたい人におすすめの定番問題集です。

Linux教科書 LPICレベル1 スピードマスター問題集を見る

※ Amazonアソシエイト広告リンク

まとめ

まとめ
まとめ

本記事では、Linuxでバックグラウンドジョブを管理する方法と、fgコマンドを使ってジョブを前面に戻す手順について詳しく解説しました。Linuxのターミナル操作において、長時間実行するプログラムや複数ジョブを効率的に扱うことは非常に重要です。&を使ったバックグラウンド実行、jobsでのジョブ確認、Ctrl + Zによる一時停止、そしてfgによる前面への復帰という基本操作を組み合わせることで、ターミナルを柔軟かつ効率的に利用できます。

また、複数ジョブが同時に動作している場合もジョブ番号を活用することで特定のプロセスだけを操作でき、ダウンロードやデータ処理などのバックグラウンド作業を邪魔せずに進行状況を確認したり制御したりすることが可能です。Linux初心者でも、これらのコマンドを理解しておくことで日常的な作業の効率化が期待できます。

サンプル操作例

ここでは、バックグラウンドジョブの作成から前面復帰までの一連の流れを示します。


sleep 120 &
[1] 45678
jobs
[1]+  Running                 sleep 120 &
fg %1
sleep 120

この例では、sleep 120をバックグラウンドで実行し、jobsで確認後、fg %1で前面に戻しています。これにより、実行中のジョブを途中で操作できるようになります。

また、複数ジョブを扱う場合はジョブ番号を正確に指定することで混乱を避けられます。例えば、2つ目のジョブを操作したい場合はfg %2と指定します。Linuxのジョブ管理を使いこなすことで、複数作業を同時進行で効率的に処理することが可能です。

先生と生徒の振り返り会話

生徒

「先生、今日学んだfgコマンドって、実際にどう役立つんですか?」

先生

「例えば長時間実行する処理やダウンロード中の作業をバックグラウンドで動かしておき、必要なときに進捗確認や操作を再開できるんだ。ターミナルを占有せずに効率的に作業できるよ。」

生徒

「なるほど、ジョブ番号が必要なのはなぜですか?」

先生

「複数のジョブが同時に動いているとき、どのジョブを操作するかを指定するためだね。fg %1fg %2で明確に選べるんだ。」

生徒

「ジョブを一時停止したあとでも前面に戻せるのは便利ですね。」

先生

「その通り。Ctrl + Zで一時停止して、後からfgで再開できる。この一連の流れを覚えておくと、Linuxでの作業効率が格段に上がるんだ。」

生徒

「複数ジョブの管理も簡単そうですね。jobsで確認してから操作すれば安全に使えますね。」

先生

「その通り。ジョブ番号を確認する習慣をつけるだけで、初心者でも安全にfgを使えるようになるよ。」

生徒

「今日はLinuxのジョブ管理とfgコマンドの使い方がよくわかりました。」

先生

「よく理解できたね。これでバックグラウンドジョブを効率的に扱えるようになったはずだ。」

カテゴリの一覧へ
新着記事
New1
Linux
Linuxの/proc/meminfoとは?メモリ使用状況を確認する仕組みを初心者向けに徹底解説
新規投稿
New2
情報セキュリティマネジメント試験
RATとは?リモートアクセス型ウイルスの仕組みと対策を初心者向けに解説
更新記事
New3
基本情報技術者試験
ビッグデータとは?初心者でもわかる大量データ活用の基本と活用事例
更新記事
New4
基本情報技術者試験
クライアントとは?初心者でもわかるコンピュータの基本用語をやさしく解説
更新記事
人気記事
No.1
Java&Spring記事人気No1
基本情報技術者試験
NIC
307
NICとは何か?初心者にもわかるネットワークインターフェースカードの基本
No.2
Java&Spring記事人気No2
基本情報技術者試験
セグメントとは?ネットワークの基本単位を初心者向けにやさしく解説
No.3
Java&Spring記事人気No3
基本情報技術者試験
16進数とは?初心者にもわかる意味・読み方・変換方法をやさしく解説!
No.4
Java&Spring記事人気No4
基本情報技術者試験
DHCP
235
DHCPとは?初心者でもわかるIPアドレス自動割り当ての仕組み
No.5
Java&Spring記事人気No5
基本情報技術者試験
SMTP
174
SMTPとは?初心者でもわかるメール送信の仕組みとプロトコルをやさしく解説!
No.6
Java&Spring記事人気No6
基本情報技術者試験
マイクロ(μ)とは?初心者にもわかる単位の意味と使い方をやさしく解説
No.7
Java&Spring記事人気No7
基本情報技術者試験
IMAP
162
IMAPとは?初心者でもわかるメール受信プロトコルの仕組みと使い方
No.8
Java&Spring記事人気No8
基本情報技術者試験
ビット(bit)とは?デジタルデータの最小単位をわかりやすく解説