- 書式
- jobs [OPTIONS] [PID]
概要
jobs
コマンドは現在動作中の
ジョブとその状態を表示します。
以下のオプションを取ります
。
訳注:bashやzshとは意味が
全く異なるので注意してください。
-c
/--command
- ジョブの各プロセスにおけるコマンド名を表示する。
-g
/--group
- 各ジョブのグループIDのみを表示する。
-l
/--last
- 最後に起動させたジョブのみを表示する。
-p
/--pid
- 全ジョブの各プロセスのプロセスIDを表示する。
システムによっては、
最後のコマンドを実行してからの
各ジョブのCPU使用率を表示します。
CPU使用率はCPUの全力に対する
パーセンテージ表現しています。
マルチプロセッサのシステムにおいては
100%を超えることもあります。
実行例(超強化)
複数のジョブを立ち上げ、
各オプションの実行を示します。
プロセス展開 も参照してください。
# ジョブを3つ立ち上げる $ sleep 9999 | wc -l & $ ruby -e 'loop{}' & $ sleep 8888 & # ジョブ一覧 $ jobs Job Group CPU State Command 3 31489 0% running sleep 8888 & 2 31459 99% running ruby -e 'loop{}' & 1 31416 0% running sleep 9999 | wc -l & # ジョブで使っているコマンドを表示 $ jobs -c Command sleep ruby sleep wc $ jobs -c %1 sleep wc # グループIDのみを表示 $ jobs -g Group 31489 31459 31416 # 最後のジョブのみを表示 $ jobs -l Job Group CPU State Command 3 31489 0% running sleep 8888 & # PIDを表示 $ jobs -p Process 31489 31459 31416 31417 # ジョブID 1のみを表示 $ jobs %1 1 31416 0% running sleep 9999 | wc -l & # ジョブID 1〜3を破壊! $ kill %1 %2 %3 0 fish: Job 3, 'sleep 8888 &' terminated by signal SIGTERM (Polite quit request) fish: Process 31416, 'sleep' from job 1, 'sleep 9999 | wc -l &' terminated by signal SIGTERM (Polite quit request) fish: Job 2, 'ruby -e 'loop{}' &' terminated by signal SIGTERM (Polite quit request) Job 1, 'sleep 9999 | wc -l &' has ended # そして、誰もいなくなった… $ jobs jobs: There are no jobs
停止中のジョブの例。
$ sleep 7777& $ kill -STOP %1 'sleep 7777&' has stopped $ jobs Job Group CPU State Command 1 32680 0% stopped sleep 7777& $ fg Send job 1, 'sleep 7777&' to foreground # ここでCtrl+Z Job 1, 'sleep 7777&' has stopped $ bg Send job 1 'sleep 7777&' to background $ jobs Job Group CPU State Command 1 32680 0% running sleep 7777&
最後までお読みいただき、ありがとうございました。参考になれば嬉しいです。