jobsコマンドはbashの組み込みコマンドで、シェルで実行しているジョブを確認できます。シェルでのジョブは'%'の文字から始まるジョブスペックで指定できます。
ジョブスペックはジョブをファアグラウンド実行にするfgコマンドやバックグラウンド実行にするbgコマンド、ジョブを終了させるkillコマンド等で利用できます。
目次
jobsコマンドの利用例
シェルでのジョブを確認
(オプションなし)
jobsコマンドはシェルで実行しているジョブを確認することができます。ジョブには数字が書かれ、killコマンド等のコマンドで'%1'や'%2'のようなジョブスペックでそのジョブを指定できます。
コマンド例と実行結果
1 2 3 4 |
$jobs [1] Running perl test.pl & [2]- Running python test.py & [3]+ Stopped bash test.sh |
数字の後に記述されている'+'や'-'の記号は現在のジョブと前のジョブを表しています。
'+'の記号は現在のジョブを表していて、ジョブスペックでは'%+'を利用して参照することができます。また、現在のジョブは他にも'%%'や'%'の記号で参照することもできます。
'-'の記号は現在のジョブからひとつ前のジョブを表していて、'%-'を利用して参照できます。また、ジョブが一つしかない場合、'%-'はそのジョブが参照されます。
また、jobsコマンドはジョブスペックを指定することでそのジョブについての情報をリストできます。
コマンド例と実行結果
1 2 3 4 5 6 |
$jobs %+ %- %% % %1 [3]+ Stopped bash test.sh [2]- Running python test.py & [3]+ Stopped bash test.sh [3]+ Stopped bash test.sh [1] Running perl test.pl & |
プロセスIDも表示
(-lオプション)
-lオプションを用いることで、通常のjobsコマンドで表示される情報にプロセスIDが追加されて表示できます。
コマンド例と実行結果
1 2 3 4 |
$jobs -l [1] 5194 Running perl test.pl & [2]- 5195 Running python test.py & [3]+ 5196 Stopped bash test.sh |
プロセスIDのみを表示
(-pオプション)
-pオプションを用いることで、プロセスグループのリーダーのプロセスIDのみを表示できます。
コマンド例と実行結果
1 2 3 4 |
$jobs -p 5194 5195 5196 |
実行中のジョブのみを表示
(-rオプション)
-rオプションを用いることで、実行中のジョブのみを表示できます。
コマンド例と実行結果
1 2 3 |
$jobs -r [1] Running perl test.pl & [2]- Running python test.py & |
停止中のジョブのみを表示
(-sオプション)
-sオプションを用いることで、停止中のジョブのみを表示できます。
コマンド例と実行結果
1 2 |
$jobs -s [3]+ Stopped bash test.sh |
ジョブスペックをプロセスグループIDに置き換えてコマンドを実行
(-xオプション)
-xオプションは、jobsコマンドの他のオプションとは少し異なり、ジョブスペックを対応するプロセスグループIDに置き換えてコマンドを実行するオプションになります。
コマンド例と実行結果
1 2 3 4 5 6 7 8 9 |
$perl test.pl & [1] 5494 $python test.py & [2] 5495 $bash test.sh & [3] 5496 $ $jobs -x echo %1 %2 %3 5494 5495 5496 |