bgはバックグラウンドの略で、Ctrl+Zのショートカットキーで中断していたジョブをバックグラウンドで実行するコマンドだ。
バックグラウンドで実行すれば、ジョブを実行させながら別のコマンド操作ができるようになる。
このページでは基本的なbgコマンドの使い方を解説する。
ジョブ管理の全体像は下記のページで詳しい。
bgコマンドの基本
コマンドの基本動作
使い方は、次のとおりbgと入力するだけだ。
$ bg
この場合は、カレントジョブと呼ばれるジョブがバックグラウンドになる。
カレントジョブやジョブ番号はjobsコマンドで確認できる。
$ jobs
現在は4つのジョブが存在している。
1番がsleepコマンド停止中、2番がshutdownコマンド実行中、3番がtreeコマンド停止中、4番がgrepコマンドで停止中であることがわかる。
現在のカレントジョブには+が表示され、4番のgrepコマンドが該当する。
-が表示されている3番のtreeのジョブはカレントジョブの前のジョブで優先度が2番目のジョブである。
ジョブ番号を直接指定することもできる。
書式は次のとおりだ。
$ bg ジョブ番号
現在、バックグラウンドで実行しているジョブ番号1番のsleepのコマンドをバックグラウンドで実行するには次のコマンドだ。
バックグラウンドで実行していたジョブ番号1番のsleepのコマンドがバックグラウンドで実行された。
はじめからバックグラウンドで動作させる
bgコマンドは、一旦フォアグラウンドで動作しているジョブを停止させてからバックグラウンドで動作させるためのコマンドだ。
はじめからバックグラウンド動作させるためには、bgコマンドではなく、コマンド入力時に入力内容の最後に&を入力する。
書式は次のとおりだ。
$ コマンド オプションなど &
例えば、コンピュータを60分後に再起動するジョブをバックグラウンドで動作させるコマンドは、次の通りだ。
$ shutdown -r 60 &
&を使ったバックグランド動作についても重要なので覚えておこう。
関連項目
最後にbgコマンドに関連して、基本的なジョブ関連のコマンドも紹介しておく
fgコマンド
ジョブをフォアグラウンドへ移行する。
jobsコマンド
ジョブを表示する。
psコマンド
プロセスを表示する。
killコマンド
プロセスを停止する。
まとめ
このページでは、bgコマンドを使ったジョブをフォアグラウンドで実行する方法を解説した。
重要なポイントは、bgコマンドは中断されているジョブを操作するコマンドなので、一度フォアグランドで動作させているコマンドは、Ctrl+Zのショートカットキーで停止させてから実行するという操作になることだ。
関連コマンドに併せて、Ctrl+Zで一時停止できる、Ctrl+Cでジョブを終了させるといったショートカットキーの動作も覚えておこう。