Linuxを使って作業をしていると、意図せずジョブ(プロセス)を停止させてしまったり、一時的に作業を中断したいシーンがあります。そんなときに便利なのが、ジョブをバックグラウンドで再開させる「bg
」コマンドです。このコマンドを知っておくことで、作業の効率を落とさず、端末の操作をスムーズに進めることができます。
本記事では、bg
コマンドの基本的な使い方から、ジョブ管理の流れ、実際の使用例までをわかりやすく解説します。Linux初心者の方にも理解しやすいよう、やさしい言葉でまとめていますので、ぜひ参考にしてみてください。
bg
とは「background(バックグラウンド)」の略で、現在停止中(suspended)のジョブをバックグラウンドで再開させるためのコマンドです。Linuxでは、ジョブをフォアグラウンドとバックグラウンドで管理でき、bg
はその管理の中でも「停止中のジョブを裏で動かし続ける」ために使われます。
たとえば、作業中に誤って Ctrl + Z を押してしまった場合、そのジョブは「停止状態」になりますが、bg
コマンドを使えば再度バックグラウンドで動作を再開できます。
Linuxでは、ターミナル上で起動される各コマンドやプロセスを「ジョブ」として管理します。ジョブには以下のような状態があります:
ジョブの状態を確認するには、jobs
コマンドを使います。
$ jobs
[1]+ Stopped sleep 100
このように、sleep 100
というジョブが停止しているのがわかります。
bg
何も引数をつけずに bg
を実行すると、直前に停止したジョブがバックグラウンドで再開されます。
$ sleep 100
^Z
[1]+ Stopped sleep 100
$ bg
[1]+ sleep 100 &
このように、sleep 100
がバックグラウンドで再開されました。
複数のジョブがある場合は、ジョブ番号を明示して再開することができます。
bg %1
ジョブ番号の前には %
を付けます。jobs
コマンドで番号を確認してから使うのが一般的です。
$ jobs
[1]- Stopped find / -name "*.log"
[2]+ Stopped tail -f /var/log/syslog
$ bg %2
[2]+ tail -f /var/log/syslog &
$ find / -name "*.log"
^Z
[1]+ Stopped find / -name "*.log"
$ bg
[1]+ find / -name "*.log" &
find
コマンドが重い処理をしているとき、いったん停止して、裏で動かしながら別の操作をすることができます。
$ tail -f /var/log/syslog
^Z
[1]+ Stopped tail -f /var/log/syslog
$ top
^Z
[2]+ Stopped top
$ bg %1
[1]+ tail -f /var/log/syslog &
$ fg %2
top
このように、fg
と bg
を組み合わせて、ジョブを前面・背面で自由に切り替えることができます。
現在のシェルで管理されているジョブの状態を表示します。
$ jobs
[1]- Running tail -f /var/log/syslog &
[2]+ Stopped top
停止中またはバックグラウンドで実行中のジョブを、再びフォアグラウンドで操作するためのコマンドです。
$ fg %2
バックグラウンドジョブを終了させたいときは kill
を使います。
$ kill %1
プロセスIDを使っても終了できますが、ジョブ番号に %
を付けて使うと便利です。
以下のようなケースでは bg
が使えません:
その場合は、エラーメッセージが表示されます:
$ bg
bash: bg: current: no such job
fg
やjobs
と組み合わせることで、柔軟なターミナル操作が可能になる特にサーバー管理や開発作業など、複数のタスクを並行して行うシーンではとても重宝します。
bg
コマンドは、Linuxのターミナルで効率よく作業するために欠かせないツールのひとつです。停止中のジョブをバックグラウンドで再開させることで、作業を中断することなくスムーズに操作を続けることができます。jobs
、fg
、kill
といった他のコマンドとあわせて使うことで、さらに柔軟なジョブ管理が可能になります。
Linuxの基本的なコマンドのひとつである「bg
」をぜひマスターして、日々のターミナル操作をもっと快適にしていきましょう。