概要
停止中ジョブを裏で再開するシェル組み込みです。Ctrl+Zや&と組み合わせると、対話シェル上で処理の前後関係を切り替えられます。
基本構文
bg [ジョブ指定]詳細解説
bgは、シェルのジョブ制御機能を扱うための組み込みコマンドです。ジョブとは、現在のシェルから起動され、シェルが前面、背面、停止状態として追跡している処理単位を指します。
bgは外部コマンドではなく、現在のシェル自身が管理しているジョブへ作用する点が重要です。そのため、別シェルや非対話シェルでは期待どおりに使えないことがあります。
実務では、対話的な確認作業の途中で一時停止して別作業を行う、長い処理を裏へ回して端末を取り戻す、といった場面で役立ちます。ただし、永続的なサービス運用の代わりになるものではありません。
このコマンドを使う場面
停止したジョブや背景処理を対話的に扱いたい時に使います。
まず安全に試す方法
1. sleep 300
2. Ctrl+Zを押す
3. bg %1
4. jobs -l
3分ミッション
少しでも手を動かすと定着しやすくなります。終わった項目にチェックを入れてください。
-
sleepを実行し、停止、再開、一覧確認の流れを体験します。
資格試験との関連
-
LinuC レベル1
範囲: 1.03.1 コマンドラインの操作根拠: officialLinuCレベル1では、ジョブ制御やシェル上の対話操作がコマンドライン運用の基礎として重視されます。
-
LPIC-1
範囲: 103.1 Work on the command line根拠: officialLPIC-1では、シェル上での対話操作、ジョブ制御、実行環境の扱いが重要です。
-
共通基礎
範囲: Linuxコマンド基礎根拠: editorial試験横断で、bgはLinux運用の基礎体力を支える重要なコマンドです。
実行結果サンプル
-
sleep 300 # Ctrl+Z bg %1 jobs -l[1]+ Running sleep 300 &
戻り値コード
- 0 正常終了。ジョブ操作または一覧表示に成功しました。
- >0 ジョブ制御無効、対象ジョブ不存在などで処理できませんでした。
使用例
bgbg %1
よくあるエラー
-
bg: no job controlと表示された 原因: 非対話シェルなどでジョブ制御が無効です。対処: 対話シェルで試し、ジョブ制御が有効か確認します。
導入・互換性情報
ジョブ制御が有効な対話シェルでだけ意味を持ちます。非対話シェルやジョブ制御無効環境では期待どおりに使えません。
注意点 / セキュリティリスク
危険度は低いですが、ジョブ指定を取り違えると意図しない処理を前面や背面へ動かします。まずjobsで状態を確認してから操作すると安全です。
FAQ
-
Q. systemdサービスの代わりになりますか。 A. なりません。ジョブ制御は現在のシェル内だけの対話機能です。
-
Q. 別端末で起動した処理も扱えますか。 A. 通常は扱えません。現在のシェルが管理しているジョブだけが対象です。
参照リンク
- カテゴリー: Process And Jobs
- シェル依存: Posix Sh
- レベル: Beginner
- 対応試験: LinuC, LinuC レベル1, LPIC, LPIC-1, 共通基礎