このバージョンの ps が受け付けるオプションにはいくつかの種類がある。
別々の種類のオプションは自由に混在させてよいが、 衝突が起こるかもしれない。 機能的には全く等しい、同義のオプションがいくつかある。 これは多くの標準と ps 実装に対して、 この ps が互換性を持っているためである。
"ps -aux" は "ps aux" とは異なることに注意すること。 POSIX と UNIX 標準では、"ps -aux" は "x" という名前のユーザーが 所有する全てのプロセスを表示し、 かつ -a オプションで選択される全てのプロセスを表示する。 "x" という名前のユーザーが存在しない場合、 この ps は代わりに "ps aux" というコマンドとして解釈され、 警告を表示する。 この動作は昔のスクリプトと慣習からの移行の助けになることを意図している。 これは脆くて変更される可能性があるので、 これに依存すべきではない。
デフォルトでは、ps はカレントユーザーと 同じ実効 (effective) ユーザー ID (EUID) を持ち、 かつ呼び出した端末と同じ端末に関連づけられている 全てのプロセスを選択する。 この場合、プロセス ID (PID)・プロセスに関連づけられている端末 (TTY)・ [dd-]hh:mm:ss という形式の累積 CPU 時間 (TIME)・ 実行ファイル名 (CMD) が表示される。 出力はデフォルトではソートされない。
BSD 形式オプションを使うと、 デフォルトの表示にプロセス状態 (STAT) が追加され、 実行ファイル名の代わりにコマンドライン引き数 (COMMAND) が表示される。 これは PS_FORMAT 環境変数で上書きできる。 BSD 形式オプションを使った場合、 選択されるプロセスも変わり、 ユーザが所有する他の端末 (TTY) 上のプロセスも含まれるようになる。 言い換えれば、選択されるプロセスは、全てのプロセスから 他のユーザーが所有するプロセスと端末上にないプロセスを除いたものに 設定されると説明できる。 以下でオプションが「等しい ("identical")」と書かれているものについては、 これらの違いは除いて考える。 したがって、-M は Z と等しく、他も同様である。
以下で記述されているものを除き、 個々のプロセス選択オプションで選択されたプロセスは足し合わされる。 デフォルトの選択は破棄され、選択されたプロセスは 表示されるプロセス群に追加される。 したがって、あるプロセスは、 指定された選択基準のどれかひとつに合致すれば、表示される。
フォーマットオプションとして使用する場合は、 BSD の流儀で -O を指定するのと等しい。
ソートに用いる場合、廃止された BSD の O オプションの文法は O[+|-]k1[,[+|-]k2[,...]] である。 「廃止されたソートキー」にある 1 文字の短いキーのシーケンスを k1, k2, ... に指定すれば、 プロセスリストを複数レベルでソートできる。
"+" は現在では省略可能な指定で、 単にデフォルトのソート方向を繰り返しているに過ぎない。 O ソートと O フォーマットを区別する助けになる。 "-" はその直後のキーのソート順を逆順にする。
$PS_SYSMAP
$PS_SYSTEM_MAP
/proc/*/wchan
/boot/System.map-`uname -r`
/boot/System.map
/lib/modules/`uname -r`/System.map
/usr/src/linux/System.map
/System.map
この ps が WCHAN の表示を正しく行うには、 名前リストファイルにアクセスする必要がある。 2.6 より前のカーネルでは、System.map ファイルが インストールされていなければならない。
現在のところ CPU 使用率は、プロセスの生存期間中に 実行に利用した時間のパーセンテージで表される。 これは理想的ではなく、ps が準拠すべき標準に準拠していない。 CPU 使用率は足し合わせても正確に 100% になることは少ない。
SIZE フィールドと RSS フィールドには、プロセスの一部 (page tables, kernel stack, struct thread_info, struct task_struct) が 含まれない。 これらは最低 20 Ki バイト以上あり、必ずメモリに常駐している。 SIZE はプロセスの仮想サイズ (code+data+stack) である。
<defunct> マークがついたプロセスは死んだプロセス (ゾンビ) である。 これらは親プロセスによって正しく消去されていないために残っている。 これらのプロセスは、親プロセスが終了すると init(8) によって消去される。
BSD 形式で stat キーワードが用いられたときは、 以下の添付文字が表示されることがある。
| キー | 長い形式 | 説明 |
| c | cmd | 実行ファイルの短い名前 |
| C | pcpu | cpu 使用率 |
| f | flags | フラグ (長い形式の F フィールドの書式) |
| g | pgrp | プロセスのグループ ID |
| G | tpgid | 制御端末プロセスグループ ID |
| j | cutime | 累積したユーザー時間 |
| J | cstime | 累積したシステム時間 |
| k | utime | ユーザー時間 |
| m | min_flt | マイナーページフォルトの回数 |
| M | maj_flt | メジャーページフォルトの回数 |
| n | cmin_flt | マイナーページフォルトの累積数 |
| N | cmaj_flt | マイナーページフォルトの累積数 |
| o | session | セッション ID |
| p | pid | プロセス ID |
| P | ppid | 親プロセスのプロセス ID |
| r | rss | 常駐セットの大きさ |
| R | resident | 常駐ページ数 |
| s | size | メモリサイズ (キロバイト単位) |
| S | share | 占めているページの量 |
| t | tty | 制御端末のデバイス番号 |
| T | start_time | プロセスが起動した時刻 |
| U | uid | ユーザー ID 番号 |
| u | user | ユーザー名 |
| v | vsize | 仮想メモリの全サイズ (kB 単位) |
| y | priority | カーネルスケジューリングの優先度 |
| コード | 通常形式 | ヘッダ |
| %C | pcpu | %CPU |
| %G | group | GROUP |
| %P | ppid | PPID |
| %U | user | USER |
| %a | args | COMMAND |
| %c | comm | COMMAND |
| %g | rgroup | RGROUP |
| %n | nice | NI |
| %p | pid | PID |
| %r | pgid | PGID |
| %t | etime | ELAPSED |
| %u | ruser | RUSER |
| %x | time | TIME |
| %y | tty | TTY |
| %z | vsz | VSZ |
例: ps -eo pid,user,args --sort user
このバージョンの ps は 他の ps の実装で使われている多くのキーワードを認識しようとする。
以下のユーザー定義フォーマット指定子はスペースを含むことができる: args, cmd, comm, command, fname, ucmd, ucomm, lstart, bsdstart, start.
いくつかのキーワードはソートには使えない。
| コード | ヘッダ | 説明 |
| %cpu | %CPU | プロセスの cpu 使用率は "##.#" というフォーマットである。 現在のところ CPU 使用率は、プロセスの生存期間中に 実行に利用した時間のパーセンテージで表される。 これを全部足しても 100% になることは (よほど幸運でなければ) ない。 (別名 pcpu)。 |
| %mem | %MEM | マシンの物理メモリに対するプロセスの常駐セットサイズのパーセンテージ。 (別名 pmem)。 |
| args | COMMAND | 文字列の引き数がついたコマンド。 引き数を変更したものが表示されるかも知れない。 このカラムの出力には空白が含まれる場合がある。 <defunct> というマークがついたプロセスは、部分的に死んでいて、 親プロセスによって完全に破壊されるのを待っている。 プロセスの引き数が取得できない場合もある。 その場合、ps は代わりに実行ファイル名を括弧の中に表示する。 (別名 cmd, command)。 comm フォーマットキーワード・ -f オプション・c オプションも参照すること。 最後に指定された場合、このカラムは画面の端まで拡張される。 出力がファイルや他のコマンドにリダイレクト (パイプ) されるときなど、 ps がディスプレイの幅を決定できない場合は、 出力幅は定義されない (80 文字・制限なし・TERM 変数で決定されるなどがありえる)。 このような場合は、COLUMNS 環境変数や --cols オプションを使えば、幅を正確に決定できる。 w または -w オプションを使っても幅を調整できる。 |
| blocked | BLOCKED | ブロックされたシグナルのマスク。signal(7) を参照。 フィールドの幅に応じて、32 ビットまたは 64 ビットのマスクが 16 進数フォーマットで表示される。 (別名 sig_block, sigmask)。 |
| bsdstart | START | コマンドが起動した時刻。 プロセスが 24 時間以内に起動されていた場合、 出力フォーマットは " HH:MM" であり、 24 時間以前の場合は "mmm dd" である。 (ここで mmm は月の名前の 3 文字である)。 |
| bsdtime | TIME | ユーザーとシステムの cpu 時間の合計。 表示フォーマットは通常は "MMM:SS" であるが、 プロセスが cpu 時間を 999 分より多く使っている場合は、右側へシフトする。 |
| c | C | プロセッサ使用率。 現在のところ、プロセスの生存期間中に利用したパーセンテージを表す整数である。 (%cpu を参照)。 |
| caught | CAUGHT | キャッチされたシグナルのマスク。 signal(7) を参照。 フィールドの幅に応じて、32 ビットまたは 64 ビットのマスクが 16 進数フォーマットで表示される。 (別名 sig_catch, sigcatch)。 |
| class | CLS | プロセスのスケジューリングのクラス。 (別名 policy, cls)。 フィールドに表示される可能性のある値は、以下の通り: - 報告されていない TS SCHED_OTHER FF SCHED_FIFO RR SCHED_RR ? 不明な値 |
| cls | CLS | プロセスのスケジューリングのクラス。 (別名 policy, class)。 フィールドに表示される可能性のある値は、以下の通り: - 報告されていない TS SCHED_OTHER FF SCHED_FIFO RR SCHED_RR ? 不明な値 |
| cmd | CMD | args を参照。(別名 args, command)。 |
| comm | COMMAND | コマンド名 (実行ファイル名のみ)。 引き数を変更したものは表示されない。 <defunct> というマークがついたプロセスは、部分的に死んでいて、 親プロセスによって完全に破壊されるのを待っている。 このカラムの出力には空白が含まれる場合がある。 (別名 ucmd, ucomm)。 args フォーマットキーワード・ -f オプション・c オプションも参照すること。 最後に指定された場合、このカラムは画面の端まで拡張される。 出力がファイルや他のコマンドにリダイレクト (パイプ) されるときなど、 ps がディスプレイの幅を決定できない場合は、 出力幅は定義されない (80 文字・制限なし・TERM 変数で決定されるなどがありえる)。 このような場合は、COLUMNS 環境変数や --cols オプションを使えば、幅を正確に決定できる。 w または -w オプションを使っても幅を調整できる。 |
| command | COMMAND | args を参照。(別名 args, cmd)。 |
| cp | CP | パーミル (パーセントの 1/10) で表した CPU 使用率。(%cpu を参照)。 |
| cputime | TIME | 累積した CPU 時間。"[dd-]hh:mm:ss" というフォーマットで表示される。 (別名 time)。 |
| egid | EGID | プロセスの実効グループ ID 番号を 10 進の整数で表示する。 (別名 gid)。 |
| egroup | EGROUP | プロセスの実効グループ ID。 テキストのグループ ID が取得できて、かつフィールド幅が許せば、 テキストで表示される。 それ以外の場合は 10 進数で表示される。 (別名 group). |
| eip | EIP | 命令ポインタ。 |
| esp | ESP | スタックポインタ |
| etime | ELAPSED | プロセスが起動されてからの経過時間。 [[dd-]hh:]mm:ss というフォーマットで表示される。 |
| euid | EUID | 実効ユーザー ID。(別名 uid)。 |
| euser | EUSER | 実効ユーザー名。 テキストのユーザー ID が取得できて、かつフィールド幅が許せば、 テキストで表示される。 それ以外の場合は 10 進数で表示される。 n オプションを使って 10 進数表示を強制できる。 (別名 uname, user)。 |
| f | F | プロセスに関連づけられたフラグ。「プロセスフラグ」のセクションを参照。 (別名 flag, flags)。 |
| fgid | FGID | ファイルシステムアクセスグループ ID。(別名 fsgid)。 |
| fgroup | FGROUP | ファイルシステムアクセスグループ ID。 テキストのグループ ID が取得できて、かつフィールド幅が許せば、 テキストで表示される。 それ以外の場合は 10 進数で表示される。 (別名 fsgroup). |
| flag | F | f を参照。(別名 f, flags)。 |
| flags | F | f を参照。(別名 f, flag)。 |
| fname | COMMAND | プロセスの実行ファイルのベース名の先頭 8 バイト。 このカラムの出力にはスペースが含まれる場合がある。 |
| fuid | FUID | ファイルシステムアクセスユーザー ID。(別名 fsuid)。 |
| fuser | FUSER | ファイルシステムアクセスユーザー ID。 テキストのユーザー ID が取得できて、かつフィールド幅が許せば、 テキストで表示される。 それ以外の場合は 10 進数で表示される。 |
| gid | GID | egid を参照。(別名 egid)。 |
| group | GROUP | egroup を参照。(別名 egroup)。 |
| ignored | IGNORED | 無視されたシグナルのマスク。signal(7) を参照。 フィールドの幅に応じて、32 ビットまたは 64 ビットのマスクが 16 進数フォーマットで表示される。 (別名 sig_ignore, sigignore)。 |
| label | LABEL | セキュリティラベル。 最も一般的に使われるのは SE Linux のコンテキストデータである。 これはセキュリティレベルの高いシステムにある 強制アクセス制御 (Mandatory Access Control, "MAC") のために存在する。 |
| lstart | STARTED | コマンドが起動された時刻。 |
| lwp | LWP | lwp (軽量プロセス (light weight process) またはスレッド) の ID が表示される。 (別名 spid, tid)。 |
| ni | NI | nice 値。 この値の範囲は 19 (最も良い) から -20 (他のプロセスに対して良くない) である。 nice(1) を参照。(別名 nice)。 |
| nice | NI | ni を参照。(別名 ni)。 |
| nlwp | NLWP | プロセスにおける lwp (スレッド) の数。(別名 thcount)。 |
| nwchan | WCHAN | プロセスが休止しているカーネル関数のアドレス (カーネル関数名が必要な場合は wchan を使うこと)。 実行中のタスクは、このカラムにダッシュ ('-') を表示する。 |
| pcpu | %CPU | %cpu を参照。(別名 %cpu)。 |
| pending | PENDING | 待機中 (pending) シグナルのマスク。signal(7) を参照。 プロセスに待機しているシグナルは、 各スレッドに待機しているシグナルと区別される。 両方を見たい場合は、m オプションまたは -m オプションを使うこと。 フィールドの幅に応じて、32 ビットまたは 64 ビットのマスクが 16 進数フォーマットで表示される。 (別名 sig)。 |
| pgid | PGID | プロセスグループ ID。 また、これはプロセスグループリーダのプロセス ID と等しい。 (別名 pgrp)。 |
| pgrp | PGRP | pgid を参照。(別名 pgid)。 |
| pid | PID | プロセスのプロセス ID 番号。 |
| pmem | %MEM | %mem を参照。(別名 %mem)。 |
| policy | POL | プロセスのスケジューリングのクラス。 (別名 class, cls)。 表示される可能性のある値は、以下の通り: - 報告されていない TS SCHED_OTHER FF SCHED_FIFO RR SCHED_RR ? 不明な値 |
| ppid | PPID | 親プロセスのプロセス ID。 |
| psr | PSR | プロセスが現在割り当てられているプロセッサ。 |
| rgid | RGID | 実グループ ID。 |
| rgroup | RGROUP | 実グループ名。 テキストのグループ ID が取得できて、かつフィールド幅が許せば、 テキストで表示される。 それ以外の場合は 10 進数で表示される。 |
| rss | RSS | 常駐セットの大きさ。 タスクが使用しているスワップされていない物理メモリ (kB 単位)。 (別名 rssize, rsz)。 |
| rssize | RSS | rss を参照。(別名 rss, rsz)。 |
| rsz | RSZ | rss を参照。(別名 rss, rssize)。 |
| rtprio | RTPRIO | リアルタイム優先度。 |
| ruid | RUID | 実ユーザー ID。 |
| ruser | RUSER | 実ユーザー ID。 テキストのユーザー ID が取得できて、かつフィールド幅が許せば、 テキストで表示される。 それ以外の場合は 10 進数で表示される。 |
| s | S | 最小限の状態表示 (1 文字)。 それぞれの値については、 「プロセスの状態コード」のセクションを参照すること。 その他の情報を表示させたい場合は、stat も参照すること。 (別名 state)。 |
| sched | SCH | プロセスのスケジューリングのポリシー。 ポリシー sched_other, sched_fifo, sched_rr は それぞれ 0, 1, 2 として表示される。 |
| sess | SESS | セッション ID。 また、これはセッションリーダのプロセス ID と等しい。 (別名 session, sid)。 |
| sgi_p | P | そのプロセスが現在実行されているプロセッサ。 プロセスが現在のところ実行中でない場合、 または実行可能でない場合、"*" が表示される。 |
| sgid | SGID | 保存グループ ID。 (別名 svgid)。 |
| sgroup | SGROUP | 保存グループ名。 テキストのグループ ID が取得できて、かつフィールド幅が許せば、 テキストで表示される。 それ以外の場合は 10 進数で表示される。 |
| sid | SID | sess を参照。(別名 sess, session)。 |
| sig | PENDING | pending を参照。(別名 pending, sig_pend)。 |
| sigcatch | CAUGHT | caught を参照。(別名 caught, sig_catch)。 |
| sigignore | IGNORED | ignored を参照。(別名 ignored, sig_ignore)。 |
| sigmask | BLOCKED | blocked を参照。(別名 blocked, sig_block)。 |
| size | SZ | プロセスの全ての書き込み可能なページがダーティ (dirty) で、 スワップアウトされると仮定したときの、 必要とされるスワップ空間の概算の大きさ。 この数値はとても大雑把である! |
| spid | SPID | lwp を参照。(別名 lwp, tid)。 |
| stackp | STACKP | プロセスのスタックの最下位 (開始) アドレス。 |
| start | STARTED | コマンドが起動した時刻。 プロセスが 24 時間以内に起動されていた場合、 出力フォーマットは " HH:MM:SS" であり、 24 時間以前の場合は " mmm dd" である。 (ここで mmm は月の名前の 3 文字である)。 |
| start_time | START | プロセスの起動時刻または起動日。 ps が起動されたのと同じ年に プロセスが起動されていない場合は、年のみが表示される。 同じ日に起動されていない場合は "mmmdd" である。 それ以外は "HH:MM" である。 |
| stat | STAT | 複数文字のプロセス状態。 それぞれの値の意味は、 「プロセスの状態コード」のセクションを参照すること。 最初の文字のみを表示したい場合は、 s と state も参照すること。 |
| state | S | s を参照。(別名 s)。 |
| suid | SUID | 保存ユーザー ID。(別名 svuid)。 |
| suser | SUSER | 保存ユーザー名。 テキストのユーザー ID が取得できて、かつフィールド幅が許せば、 テキストで表示される。 それ以外の場合は 10 進数で表示される。 (別名 svuser)。 |
| svgid | SVGID | sgid を参照。(別名 sgid). |
| svuid | SVUID | suid を参照。(別名 suid)。 |
| sz | SZ | プロセスのコアイメージの物理ページサイズ。 これにはテキスト・データ・スタック空間が含まれる。 デバイスマッピングは現在のところ除外されているが、これは変更される。 vsz と rss を参照。 |
| thcount | THCNT | nlwp を参照。(別名 nlwp)。 プロセスが所有するカーネルスレッドの数。 |
| tid | TID | lwp を参照。(別名 lwp)。 |
| time | TIME | 累積した CPU 時間。"[dd-]hh:mm:ss" フォーマットで表示される。 (別名 cputime)。 |
| tname | TTY | 制御端末 (tty)。 (別名 tt, tty)。 |
| tpgid | TPGID | プロセスが接続されている端末 (tty) 上の フォアグラウンドプロセスグループの ID。 プロセスが端末に接続されていない場合は -1 である。 |
| tt | TT | 制御端末 (tty)。(別名 tname, tty)。 |
| tty | TT | 制御端末 (tty)。(別名 tname, tt)。 |
| ucmd | CMD | comm を参照。(別名 comm, ucomm)。 |
| ucomm | COMMAND | comm を参照。(別名 comm, ucmd)。 |
| uid | UID | euid を参照。(別名 euid)。 |
| uname | USER | euser を参照。(別名 euser, user)。 |
| user | USER | euser を参照。(別名 euser, uname)。 |
| vsize | VSZ | vsz を参照。(別名 vsz)。 |
| vsz | VSZ | プロセスの仮想メモリサイズ (KiB, 1024 バイト単位)。 デバイスマッピングは現在のところ除外されているが、これは変更される。 (別名 vsize)。 |
| wchan | WCHAN | プロセスがスリープしているカーネル関数の名前。 プロセスが実行中の場合は "-" である。 プロセスがマルチスレッドで、 かつ ps がスレッドを表示していない場合は、"*" である。 |
一般にはこれらの変数を設定するのはあまり良い考えではない。 唯一の例外は CMD_ENV または PS_PERSONALITY である。 これらは Linux を正常なシステムにする。 この設定を行わないと、ps は Unix98 標準における 役に立たない悪い部分に従う。
| 390 | S/390 OpenEdition の ps のように振舞う |
| aix | AIX の ps のように振舞う |
| bsd | FreeBSD の ps のように振舞う (全く標準的ではない) |
| compaq | Digital Unix の ps のように振舞う |
| debian | 古い Debian の ps のように振舞う |
| digital | Tru64 (かつての Digital Unix または OSF/1) の ps のように振舞う |
| gnu | 古い Debian の ps のように振舞う |
| hp | HP-UX の ps のように振舞う |
| hpux | HP-UX の ps のように振舞う |
| irix | Irix の ps のように振舞う |
| linux | ***** 推奨される ***** |
| old | 古い Linux の ps のように振舞う (全く標準的ではない) |
| os390 | OS/390 Open Edition の ps のように振舞う |
| posix | 標準 |
| s390 | OS/390 Open Edition の ps のように振舞う |
| sco | SCO の ps のように振舞う |
| sgi | Irix の ps のように振舞う |
| solaris2 | Solaris 2+ (SunOS 5) の ps のように振舞う |
| sunos4 | SunOS 4 (Solaris 1) の ps のように振舞う (全く標準的ではない) |
| svr4 | 標準 |
| sysv | 標準 |
| tru64 | Tru64 (かつての Digital Unix または OSF/1) の ps のように振舞う |
| unix | 標準 |
| unix95 | 標準 |
| unix98 | 標準 |
バグ報告は <procps-feedback@lists.sf.net> まで送って欲しい。 (訳註: このメーリングリストの) 購読の必要もないし、奨めもしない。
[man1]
[man2]
[man3]
[man4]
[man5]
[man6]
[man7]
[man8]
[a]
[b]
[c]
[d]
[e]
[f]
[g]
[h]
[i]
[j]
[k]
[l]
[m]
[n]
[o]
[p]
[q]
[r]
[s]
[t]
[u]
[v]
[w]
[x]
[y]
[z]