jobs / fg / bg の使い方

後ろで動かしているジョブ

書き方

コマンド &(後ろで動かす)
jobs [-l]
fg [%番号]
bg [%番号]
kill %番号

末尾に & を付けると、終わるのを待たずにプロンプトに戻ります。jobs で一覧(-l で PID も)、fg で前に戻す、bg で止まっているジョブを後ろで動かし直す、kill %1 で 1 番のジョブを止めます。このシミュレーターでは、fg で前に戻したジョブはそこで終わったことにします。

よく使うオプション

オプション意味
コマンド &後ろで動かす
jobs -lジョブの一覧を PID と一緒に出す
fg %番号そのジョブを前に戻す
bg %番号止めたジョブを後ろで動かし直す
Ctrl+Z前で動いているものを一時停止する
kill %番号そのジョブを止める

例

$ tar czf big.tar.gz /data &[1] 3402

時間のかかる処理を後ろで動かし、そのあいだも別のコマンドを打てるようにします。

$ jobs -l[1]+  3402 Running                 tar czf big.tar.gz /data &

後ろで動いているジョブの番号・PID・状態を見ます。

$ fg %1

1 番のジョブを前に戻し、終わるまで待ちます。

$ bg %1

Ctrl+Z で一時停止したジョブを、後ろで動かし直します。

よくある間違い・注意

  • & で後ろに回しても、ログアウトすると止まることがあります。続けたいときは nohup を使います。
  • ジョブの番号(%1)はそのシェルの中だけのものです。ほかの端末では使えないので、PID で扱います。

実際に打って練習する

Linux レベル1 コースの Lv81「仲間を働かせる jobs」で覚えます(第5章 見張りの塔(環境・ジョブ・ログ・時刻))。ブラウザの中のシミュレーターで、本物と同じように打って確かめられます。

Lv1〜16 は、登録不要・無料で遊べます(それより先はブロンズ以上のプランで遊べます)。

Linux コマンド一覧(LinuC レベル1 の範囲)へ戻る