# Jobs 組込みコマンド

Jobs 組込みコマンドはシェルが有している​ジョブを表示します。

## 構文

- `jobs [-lnprs] [ジョブ…]`

## 説明

Jobs コマンドはシェルが現在有している​ジョブの名前や状態を表示します。

標準では各ジョブについて以下の情報を一行ずつ表示します。

- ジョブ番号

- 現在のジョブ・前のジョブを示す記号 (`+` または `-`)

- 状態

- コマンド名

## オプション

`-l`
`--verbose`

  ジョブを構成しているパイプラインの要素ごとにプロセス ID と状態とコマンド名を表示します。

`-n`
`--new`

  状態が変化してからまだ一度も表示していないジョブだけを表示します。

`-p`
`--pgid-only`

  ジョブのプロセスグループ ID だけを表示します。

`-r`
`--running-only`

  実行中のジョブだけを表示します。

`-s`
`--stopped-only`

  停止中のジョブだけを表示します。

## オペランド

ジョブ

  表示するジョブの​ジョブ ID です。一つも指定しない場合は全てのジョブを表示します。

  非 POSIX 準拠モードではジョブ ID の先頭の `%` は省略できます。

## 終了ステータス

エラーがない限り jobs コマンドの終了ステータスは 0 です。

## 補足

Jobs コマンドは​準特殊組込みコマンドです。

POSIX で規定されているオプションは `-l` と `-p` だけです。従って POSIX 準拠モードではこれ以外のオプションは使えません。また POSIX 準拠モードでは、`-l` オプション指定時、プロセスごとではなくジョブごとに状態を表示します。

Yash では、ジョブのプロセスグループ ID はジョブを構成するパイプラインの最初のコマンドのプロセス ID に一致します。