概要
`bg`は'background'の略で、`Ctrl+Z`を押して一時停止された(Stopped)ジョブをバックグラウンドに切り替え、実行状態(Running)に戻すコマンドです。フォアグラウンドで実行中のジョブを停止して他の作業を行う必要がある場合、ターミナルセッションを閉じずにそのジョブを継続して実行できます。`jobs`コマンドで確認したジョブ番号と組み合わせて使用すると、特定のジョブを指定できます。
主な特徴
bgコマンドの主な特徴は以下の通りです。
- 一時停止されたジョブをバックグラウンドで再実行します。
- ジョブ番号を通じて個別のジョブを指定できます。
- ターミナルの制御を解放せずに長時間の作業を継続できます。
bgとfgの違い
bgとfgは共にバックグラウンドジョブを制御しますが、それぞれの役割が異なります。
- bg: 一時停止されたジョブをバックグラウンドで継続実行するように切り替えます。
- fg: バックグラウンドで実行中のジョブをフォアグラウンドに切り替え、ターミナル制御権を取得します。
主なオプション
bgコマンドは主に引数(ジョブ番号)と共に使用されます。特別な複雑なオプションはありません。
1) 実行オプション
生成されたコマンド:
コマンドを組み合わせてみてください。
説明:
`bg` コマンドを実行します。
これらのオプションを組み合わせて、AIと一緒に仮想的にコマンドを実行してみてください。
使用例
bgコマンドの様々な使用例を通じて機能を習得してください。
ジョブを一時停止後、バックグラウンドに切り替える
ping google.com
(Ctrl+Z 입력)
jobs
bg
`ping`コマンドを実行中に`Ctrl+Z`で停止させ、その後`jobs`で確認し、`bg`でバックグラウンドで実行します。
一時停止された複数のジョブをバックグラウンドで実行する
sleep 100
(Ctrl+Z 입력)
vi /etc/hosts
(Ctrl+Z 입력)
jobs
bg %1
bg %2
2つのジョブを停止させた後、`jobs`で確認し、`bg`で全てバックグラウンドで実行します。
一時停止された特定のジョブをバックグラウンドで実行する
jobs
bg %2
`jobs`で確認したリストから2番目のジョブ(`%2`)をバックグラウンドに切り替えます。
インストール
bgはシェル(bash, zshなど)の組み込みコマンドであり、別途インストールする必要はありません。
ヒントと注意事項
bgコマンド使用時の注意点をまとめました。
ヒント
- `Ctrl+Z`でジョブを停止させることは、ジョブを終了することではありません。メモリに残ったままなので、`jobs`で確認し、必要に応じて`bg`、`fg`、`kill`などのコマンドを使用して管理する必要があります。
- `bg`を使用するとバックグラウンドでジョブを再開できますが、ターミナルに出力を送るジョブの場合、バックグラウンドでも画面に継続して出力されることがあります。`> /dev/null 2>&1`のようにリダイレクトを使用して出力を非表示にできます。
- `bg`を実行する際に引数を指定しない場合、最も最近停止されたジョブが自動的に選択されます。