【Linux入門】jobsコマンド・fgコマンド・bgコマンド

jobsコマンド

ジョブの操作には、通常以下の手順が含まれます。

  1. バックグラウンドでジョブを開始する。
  2. 開始したジョブを一時停止する。
  3. 一時停止したジョブをフォアグラウンドまたはバックグラウンドに移動して再開する。
  4. 実行中のジョブの状態を確認する。

以下では、これらの手順を順番に詳しく説明します。

1.バックグラウンドでジョブを開始する。

ジョブをバックグラウンドで開始するには、コマンドの末尾に & を付けます。

$ sleep 1000 &
[1] 3331

上記の例では、「sleep 1000」コマンドをバックグラウンドで実行し、ジョブIDが1であることを示しています。

2.バックグラウンドで実行していたジョブをフォアグラウンドに移動する。

フォアグラウンドに移動して再開するには、 fg(ForeGround)コマンドを使用します。

 fg [%ジョブID] のように % をつけて、ジョブIDを指定します。% を付けなければ、プロセスIDが指定されたものとみなされます。

$ fg %1
sleep 1000

3.フォアグラウンドで開始したジョブを一時停止する。

開始したジョブを一時停止するには、Ctrl + Z を押します。

^Z
[1]+  停止                  sleep 1000
$ 

「+」は、直前に実行したジョブを表しています。

4.一時停止したジョブをバックグラウンドに移動して再開する。

バックグラウンドに移動して再開するには、 bg(BackGround)コマンドを使用します。

bg [%ジョブID] のように % をつけて、ジョブIDを指定します。

$ bg %1

5.実行中のジョブの状態を確認する。

実行中のジョブの状態を確認するには、jobsコマンドを使用します。

$ jobs
[1]+  実行中               sleep 1000 &

上記の例では、「sleep 1000」ジョブがジョブID 、1 で実行中であることが表示されています。

6.ジョブをもう1つ実行します。

さらに、もう1つ、「sleep 2000」ジョブを実行します。

$ sleep 2000 &
[2] 4034

ジョブIDが2で「sleep 2000」コマンドが実行されていることを示しています。

7.実行中のジョブの状態を確認する。

jobsコマンドを実行して、現在実行中のジョブを確認します。

$ jobs
[1]-  実行中               sleep 1000 &
[2]+  実行中               sleep 2000 &

「+」は、直前に実行したジョブを表しており、「-」は、その前に実行したジョブを表しています。

まとめ

以下にジョブ操作を図にまとめます。

これらの手順を組み合わせることで、ジョブの管理や操作を行うことができます。