ps コマンド

目的

プロセスの状況を表示します。 本書では、標準の AIX® ps コマンドおよび System V バージョンの ps コマンドについて説明します。

構文

X/Open 標準
ps [ -A ] [ -M ] [ -N ] [ -Z ] [ -a ] [ -d ] [ -e ] [ -f ] [ -k ] [ -l ] [ -F format] [ -o Format ] [ -c Clist ] [ -G Glist ] [ -g Glist ] [ -m ] [ -n NameList ] [ -p Plist ] [ -P ] [ -t Tlist ] [ -U Ulist ] [ -u Ulist ] [ -T pid ] [ -L pidlist ] [ -X ] [ -@ [ WparName ] ]
バークレー標準
ps [ a ] [ c ] [ e ] [ ew ] [ eww ] [ ewww ] [ g ] [ n ] [ w ] [ x ] [ l | s | u | v ] [ t tty ] [ X ] [ ProcessNumber ]

説明

ps コマンドは、アクティブ・プロセスの状況、 および -m フラグが指定されていれば、それに関連するカーネル・スレッドを、 標準出力に書き出します。 -m フラグは、追加の行を使用してプロセスに関連付けられたスレッドを表示しますが、追加のスレッド関連の列を表示するには、 THREAD フィールド指定子を指定した -o フラグを使用する必要があります。

フラグが指定されていなければ、ps コマンドは現行端末に関する情報を表示します。 フラグ -f-ol-lsu、および v は、 プロセスに関して表示する情報量のみを決定し、どのプロセスをリストするかを決定するわけではありません。 フラグ lsu、および v は相互に排他的です。

-o フラグでは、 ps コマンドはメモリーまたはページング域を調べて、 プロセスが作成されたときのコマンド名およびパラメーターを判別します。 ps コマンドがこの情報を検出できない場合は、カーネルに保管されているコマンド名が大括弧で囲まれて表示されます。

COLUMNS 環境変数は、システムで選択された横方向の画面サイズをオーバーライドします。

パラメーター・リストを受け入れるコマンド・ライン・フラグ (-o-G-g-p-t-U、および -u フラグ) は、128 エントリーまでに制限されています。 例えば、-u Ulist フラグに指定できるユーザー数は 128 以内です。

ps コマンドの出力に ワークロード・パーティション (WPAR) 名は含まれていないが、現行稼働環境でワークロード・パーティション内で実行されているプロセスに関連付けられたプロジェクト ID (PROJECT)、ユーザー ID (UID または USER)、またはグループ ID (GID) が含まれている場合、それらの ID の前に正符号 (+) が付けられ、 ワークロード・パーティションとの関連付けが示されます。 各 ワークロード区画 には、グローバル環境用に定義された ID とは異なるユーザー、グループ、およびプロジェクト ID の独自の定義が含まれています。 -@ オプションを指定して、 ワークロード区画 名を出力に含めることができます。

注: ps コマンドは、アプリケーションがメモリーを解放したときにメモリー使用量カウントの減少を表示しません。 メモリーがアプリケーションから解放されると、そのメモリーは、プロセスごとのメモリー・フリー・リストに割り当てられます。 ps コマンドは、解放されたメモリーを、アプリケーションに割り当てられたメモリーとして見なします。

ps コマンドで使用されるフラグに応じて、標準出力に表示される情報の上に列見出しが表示されます。 見出しは以下のリストに定義されており、これらの見出しが表示される原因となるフラグが括弧内に示されています。

ADDR
(-l および l フラグ) 通常の場合は、プロセス・スタックのセグメント番号が入っています。カーネル・プロセスの場合は、プリプロセス・データ領域のアドレスです。
BND
(-o THREAD フラグ) カーネル・スレッドがバインドされる論理プロセッサー番号 (バインドされる場合)。 プロセスの場合は、そのすべてのスレッドが同じプロセッサーにバインドされたときに、 このフィールドが表示されます。
C
(-fl、および -l フラグ) プロセスまたはスレッドの CPU 使用率。これは、システム・クロック・ティックおよびプロセスまたはスレッドが実行中であることが検出されるたびに増加します。 スケジューラーは、毎秒一度ずつ 2 で除算してこの値を減分させます。 sched_other ポリシーでは、CPU 使用率はプロセスのスケジューリング優先順位を決定する際に使用されます。 値が大きい場合は、CPU 負荷の高いプロセスを示し、プロセスの優先順位が低くなります。値が小さい場合は、入出力負荷の高いプロセスを示し、優先順位が高くなります。
CMD
(-f-l、および l フラグ) コマンド名が入っています。 -f フラグを指定すると、 ps コマンドは、現在のコマンド名と引数を判別しようとします。どちらも、プロセスによって非同期に変更される可能性があります。 この後そのコマンド名と引数が表示されます。 この表示に失敗すると、-f オプションなしにコマンド名が表示されるように、大括弧の中にそのコマンド名が書き込まれます。
コマンド
(su、および v) コマンド名が入っています。 完全なコマンド名およびそのパラメーターは、-f フラグで表示されます。
F フィールドの表
フラグ 16 進数 定義
SLOAD 0x00000001 プロセスがコア・メモリーで動作中であることを示す。
SNOSWAP 0x00000002 プロセスをスワップアウトできないことを示す。
STRC 0x00000008 プロセスがトレースされていることを示す。
SWTED 0x00000010 トレース中に、プロセスが停止したことを示す。
SFWTED 0x00000020 トレース中に、fork サブルーチンのコール後でプロセスが停止したことを示す。
SEWTED 0x00000040 トレース中に、exec サブルーチンのコール後でプロセスが停止したことを示す。
SLWTED 0x00000080 トレース中に、load または unload サブルーチンのコール後でプロセスが停止したことを示す。
SFIXPRI 0x00000100 pcpu フィールド・ディスクリプターを無視し、プロセスが固定優先順位を持つことを示す。
SKPROC 0x00000200 カーネル・プロセスを示す。
SOMASK 0x00000400 シグナルを受信した後で、古いマスクの復元を示す。
SWAKEONSIG 0x00000800 シグナルが sleep サブルーチンを打ち切ることを示します。 内容は、 PCATCH フラグの内容と同じであっては なりませんPCATCH および SWAKEONSIG の両方の内容が、PMASK の内容よりも大きくなければならない。
SUSER 0x00001000 プロセスがユーザー・モードにあることを示す。
SLKDONE 0x00002000 プロセスがロックされていることを示します。
STRACING 0x00004000 プロセスがデバッグ・プロセスであることを示す。
SMPTRACE 0x00008000 マルチプロセス・デバッグを示す。
SEXIT 0x00010000 プロセスが終了していることを示す。
SSEL 0x00020000 プロセッサーが「makeup」または「waiting danger」を選択していることを示します。
SORPHANPGRP 0x00040000 孤立プロセス・グループを示す。
SNOCNTLPROC 0x00080000 セッション・リーダーを制御端末から解放したことを示す。
SPPNOCLDSTOP 0x00100000 子プロセスが停止するときに親プロセスへ SIGHLD シグナルが送信されない ことを示す。
SEXECED 0x00200000 プロセスにあることを示します。
SJOBSESS 0x00400000 現行セッションでジョブ制御が使われたことを示す。
SJOBOFF 0x00800000 プロセスがジョブ制御を受けていないことを示す。
PSIGDELIVERY 0x01000000 プロセスがプログラム・チェック・ハンドラーによって使用されることを示す。
SRMSHM 0x02000000 exit サブルーチンのコール中、プロセスが共有メモリーを除去したことを示す。
SSLOTFREE 0x04000000 プロセスのスロットが空いていることを示す。
SNOMSG 0x08000000 これ以上 uprintf サブルーチン・メッセージがないことを示す。
WPAR
(-@ フラグ) ワークロード区画名が入っています。 -@ フラグのを指定すると、ps コマンドは、プロセスが実行されているワークロード区画の名前を表示します。 プロセス情報を表示するには、-@ フラグに wparname パラメーターを指定します。
DPGSZ
(Z フラグ) プロセスのデータ・ページ・サイズ。
F
(-l および l フラグ) プロセスおよびスレッドに関連付けられた、より重要な F フィールド・フラグ (16 進数および加算) の一部を、以下の表にリストします。
F フィールドの表
フラグ 16 進数 定義
SLOAD 0x00000001 プロセスがコア・メモリーで動作中であることを示す。
SNOSWAP 0x00000002 プロセスをスワップアウトできないことを示す。
STRC 0x00000008 プロセスがトレースされていることを示す。
SKPROC 0x00000200 カーネル・プロセスを示す。
SEXIT 0x00010000 プロセスが終了していることを示す。
SLPDATA 0x00020000 プロセスで大きなページが使用されることを示す。
SEXECED 0x00200000 プロセスにあることを示します。
SEXECING 0x01000000 プロセスが実行中 (exec を実行中) であることを示す。
SPSEARLYALLOC 0x04000000 このプロセスのページング・スペースが初期に割り当てられることを示す。
TKTHREAD 0x00001000 スレッドがカーネル専用スレッドであることを示す。
注: /usr/include/sys/proc.h ファイルと /usr/include/sys/thread.h ファイルの p_flags フィールドと t_flags フィールドをそれぞれ参照することで、すべてのプロセス・フラグとスレッド・フラグの定義を確認できます。
LIM
(v フラグ) setrlimit サブルーチンのコールを介して指定され、使用されるメモリーのソフト制限。 この制限を指定しなかった場合、 xx が表示されます。 この制限をシステム制限 (すなわち、制限なし) に設定した場合には、値 UNLIM が表示されます。
NI
(-l および l フラグ) nice の値。 sched other ポリシーの優先順位の計算に使用されます。
PID
(すべてのフラグ) プロセスのプロセス ID。
PGIN
(v フラグ) コアにロードされていないページへのプロセスによる参照から生じたディスク入出力回数。
PPID
(-fl、および -l フラグ) 親プロセスのプロセス ID。
PRI
(-l および l フラグ) プロセスまたはカーネル・スレッドの優先順位。数値が大きいほど優先順位が低くなります。
PROJECT
(-P フラグ) プロセスに割り当てられているプロジェクト名。 現在の稼働環境では、 PROJECT フィールドおよび USER フィールドは、 ワークロード・パーティション内で実行されているプロセスの名前に変換されません。 -U-u フラグだけは、現行稼働環境に適用されます。ただし、-@ フラグが特定のワークロード区画名を指定して組み込まれている場合はその限りではありません。 -@ フラグを使用して現行稼働環境以外のワークロード区画を指定し、かつ、-U-u フラグが指定されている場合、ユーザー ID のリストは数値でなければなりません。
RSS
(v フラグ) プロセスの実メモリー (常駐セット) のサイズ (1 キロバイト単位)。
S
(-l および l フラグ) プロセスまたはカーネル・スレッドの状態。

プロセスの場合:

O
存在しない
A
アクティブ
W
スワップ済み
I
アイドル (始動待ちの) 状態
Z
取り消し
T
停止

カーネル・スレッドの場合:

O
存在しない
R
実行中
S
スリープ中
W
スワップ済み
Z
取り消し
T
停止
SC
(-o THREAD フラグ) プロセスまたはカーネル・スレッドの中断カウント。 プロセスの場合、中断カウントはカーネル・スレッドの中断カウントの合計として定義されます。
SCH
(-o THREAD, sched フラグ) カーネル・スレッドのスケジューリング・ポリシー。 ポリシー sched_othersched_fifo、および sched_rr は、それぞれ 012を使用して表示されます。 スケジューリング・ポリシーは、 sched フラグが指定されている場合にのみ表示されます。
SIZE
(v フラグ) プロセスのデータ・セクションの仮想サイズ (1 キロバイト単位)。
SHMPGSZ
(Z フラグ) プロセスの共有メモリー・ページ・サイズ。
SPGSZ
(Z フラグ) プロセスのスタック・ページ・サイズ。
SSIZ
(s フラグ) カーネル・スタックのサイズ。 マルチスレッド・プロセスの場合、この値は常に 0 (ゼロ) です。
STAT
(su、および v フラグ) プロセスの状態が入っています。
0
存在しない
A
アクティブ
I
中間
Z
取り消し
T
停止
K
使用可能なカーネル・プロセス
STIME
(-f および u フラグ) プロセスの始動時刻。 LANG 環境変数がこのフィールドの表示を制御します。
SUBPROJ
(-P フラグ) プロセスに割り当てられているサブプロジェクトの ID。
SZ
(-l および l フラグ) プロセスのコア・イメージの 1 キロバイト単位のサイズ。
THCNT
(-o thcount フラグ) プロセスが所有するカーネル・スレッド数。
TID
(-o THREAD フラグ) カーネル・スレッドのスレッド ID。
時刻
(すべてのフラグ) プロセスの合計実行時間。 時間の表示フォーマットは mm:ss または mmmm:ss (実行時間が 100 分に達した場合) です。これは -o time フラグを指定した場合の表示フォーマットとは異なります。
TPGSZ
(Z フラグ) プロセスのテキスト・ページ・サイズ。
TRS
(v フラグ) テキストの常駐セット (実メモリー) のサイズ。
TSIZ
(v フラグ) テキスト (共有プログラム) イメージのサイズ。
TTY
(すべてのフラグ) プロセスのための制御端末で、以下のとおりです。
-
プロセスが端末と関連付けられていない。
?
不明。
Number
TTY 番号。 例えば、項目 2TTY2を示します。
UID
(-f-l、および l フラグ) プロセス・オーナーのユーザー ID。 -f フラグを指定すると、ログイン名が表示されます。
ユーザー
(u フラグ) プロセス・オーナーのログイン名。 現在の稼働環境では、 PROJECT フィールドおよび USER フィールドは、 ワークロード・パーティション内で実行されているプロセスの名前に変換されません。
WCHAN
(-l フラグ) プロセスまたはカーネル・スレッドが待機中またはスリープ中であるイベント。 カーネル・スレッドの場合、カーネル・スレッドが実行中であれば、このフィールドはブランクになります。 プロセスの場合、カーネル・スレッドが 1 つだけスリープしていると、待機チャネルはスリープ中のカーネル・スレッドの待機チャネルとして定義されます。それ以外の場合は、アスタリスクが表示されます。
WCHAN
(l フラグ) プロセスが待機中のイベント (システム内のアドレス)。 数値出力が要求されない限り、アドレスをソートする記号が選ばれます。
CPU (%CPU)
(u および v フラグ) プロセス始動以降、プロセスが CPU を使用した時間のパーセンテージ。 この値は、プロセスが CPU を使用した時間をプロセスの経過時間で除算することによって計算されます。 マルチプロセッサー環境では、同じプロセスにある複数のスレッドは異なる CPU 上で同時に稼働できるため、この値をさらに使用可能な CPU の数で割ります。 (このデータが計算される時間基準は異なるため、すべての %CPU フィールドの合計が 100% を超える可能性があります。)
%MEM
(u および v フラグ) このプロセスで使用されている実メモリーの割合。 %MEM 値は、プログラム・テキストを他のプロセスと共有しているプロセスのコストを誇張する傾向があります。 1 つのプログラムの複数のコピーが実行されていて、プログラム・テキストのコピーがすべてのインスタンスによって共有されている場合、共有による重複は考慮されていません。 そのプログラムのインスタンスごとに、テキスト・セクションのサイズが考慮されます。 これは、1 つのプログラムの複数のコピーが実行される場合、すべてのプロセスの %MEM 値の合計が 100% を超える可能性があることを意味します。
既に終了しており、そのプロセスの終了を待っていない親プロセスを持つプロセスは、<defunct> と記されます。 終了しようとしてブロックされているプロセスには、 <exiting>のマークが付けられます。 ps コマンドは、プロセスがメモリーまたはスワップ領域によって作成されたときに指定されたファイル名と引数を判別しようとします。
注:
  1. ps コマンドの実行中に、プロセスが変更することがあります。 機能不良プロセスについて表示されるデータの中には、無関係なものがあります。
  2. ps プログラムは、メモリーを調べて、プロセスの作成時に使用されたファイル名と引数を取得します。 ただし、プロセスが情報を破壊する可能性があるので、 このファイル名と引数の検索方法は信頼性を欠きます。
  3. ps プログラムは、ローカル・リソースでユーザーおよびグループ情報を検索します。

フラグ

以下のフラグの前には、- (マイナス符号) が付きます。

表 1. フラグ
項目 説明
-A すべてのプロセスに関する情報を標準出力に書き出します。
-a セッション・リーダー、および端末に関連しないプロセスを除くすべてのプロセスに関する情報を標準出力に書き出します。
-c リスト Clist 変数にリストされているワークロード管理クラスに割り当てられているプロセスに関する情報のみを表示します。 Clist 変数は、コンマで区切られたクラス名のリスト、または二重引用符 ("") で囲まれたクラス名のリストです。これは、コンマまたは 1 つ以上のスペース、あるいはその両方で区切られます。
-d セッション・リーダーを除くすべてのプロセスに関する情報を標準出力に書き出します。
-e カーネル・プロセス以外のすべてのプロセスに関する情報を標準出力に書き出します。
-F Format -o Format と同じ。
-f 完全なリストを生成します。
-G Glist Glist 変数にリストされている有効グループ内のプロセスに関する情報のみを標準出力に書き込みます。 Glist 変数は、有効なグループ ID のコンマ区切りリスト、または二重引用符で囲まれ、 (" ") コンマまたは 1 つ以上のスペースで区切られた有効なグループ ID のリストのいずれかです。
-g Glist Glist 変数にリストされているプロセス・グループ内のプロセスに関する情報のみを標準出力に書き込みます。 Glist 変数は、コンマで区切られたプロセス・グループ ID のリスト、または二重引用符で囲まれ、 (" ") コンマまたは 1 つ以上のスペースで区切られたプロセス・グループ ID のリストのいずれかです。
-k カーネル・プロセスをリストします。
-l 詳細なリストを作成します。 l フラグも参照してください。
-L ピッド・リスト pidlist 変数に入れて渡されたすべての pid の子孫のリストを生成します。 pidlist 変数は、コンマで区切られたプロセス ID の リストです。 指定されたすべての PID からの子孫のリストが、 プロセス・テーブルに現れた順に印刷されます。
-M すべての 64 ビット・プロセスをリストします。
-m カーネル・スレッドおよびプロセスをリストします。 プロセスの出力行の後には、カーネル・スレッドごとに追加の出力行が続きます。 このフラグは、適切な -o Format フラグが指定されていない限り、スレッド固有のフィールド (bndscountschedthcount、および tid) を表示しません。
-N スレッド統計情報の収集は行いません。 このフラグを指定すると、ps は、 プロセスのスレッド・チェーンをスキャンしなくても入手できる統計情報だけをレポートします。
-n NameList デフォルトの代わりに代替システム名リスト・ファイルを指定します。 オペレーティング・システムでは、情報は直接カーネルに提供されるため、 -n フラグは使用されません。
-o Format Format 変数で指定された形式で情報を表示します。 Format 変数には、複数のフィールド指定子を指定できます。 Format 変数は、フィールド指定子のコンマ区切りリスト、または "" のセットで囲まれたフィールド指定子のリストのいずれかです。 (二重引用符) で区切られ、コンマまたは 1 つ以上のスペース、あるいはその両方で区切られます。

それぞれのフィールド指定子にはデフォルトのヘッダーがあります。 デフォルトのヘッダーをオーバーライドするには、= (等号) の後にヘッダーのユーザー定義テキストを指定します。 フィールドは、コマンド行で指定された順序で列形式で書き込まれます。 フィールド幅は、少なくともデフォルト幅かユーザー定義ヘッダー・テキストの幅になるように、 システムによって指定されます。 ヘッダー・テキストが null の場合 (例えば、 -o user= が指定された場合)、フィールド幅は少なくともデフォルトのヘッダー・テキストと同じ幅になります。 すべてのヘッダー・フィールドが null の場合、ヘッダー行は書き込まれません。

システムが認識するフィールド指定子を以下に示します。

args
実行中のコマンドの完全名を示します。 切り捨てが行われる可能性がありますが、すべてのコマンド行引数が組み込まれます。 このフィールドのデフォルト・ヘッダーは COMMANDです。
bnd
プロセスまたはカーネル・スレッドがバインドされているプロセッサー (もしあれば) を示します。 このフィールドのデフォルト・ヘッダーは BNDです。
class
プロセスまたはスレッドに割り当てられているワークロード管理クラスを示します。 このフィールドのデフォルト・ヘッダーは CLASSです。
comm
実行中のコマンドの省略名を示します。 コマンド・ライン引数は含まれません。 このフィールドのデフォルト・ヘッダーは COMMANDです。
cpu
プロセスのスケジューリング優先順位を決定します。 プロセスまたはスレッドの CPU 使用率。これは、システム・クロック・ティックおよびプロセスまたはスレッドが実行中であることが検出されるたびに増加します。 スケジューラーは、毎秒一度ずつ 2 で除算してこの値を減分させます。 sched_other ポリシーの場合、大きい値は CPU 集中型プロセスを示し、プロセス優先順位は低くなりますが、小さい値は入出力集中型プロセスを示し、優先順位が高くなります。
dpgsz
プロセスのデータ・ページ・サイズを示します。
etime
プロセス始動後の経過時間を示します。 経過時間は以下のフォーマットで表示されます。

[[ dd-]hh:]mm:ss

dd は日数を、hh は時間数を、mm は分数を、ss は秒数を指定します。 このフィールドのデフォルト・ヘッダーは ELAPSED です。

group
プロセスの実効グループ ID を示します。 テキストによるグループ ID が表示されます。 テキストによるグループ ID を獲得できない場合には、10 進表記が使用されます。 このフィールドのデフォルト・ヘッダーは GROUPです。
nice
プロセスの nice の値の 10 進値を示します。 このフィールドのデフォルト・ヘッダーは NIです。
-o (続き)
pcpu
使用可能な CPU 時間に対する、使用された CPU 時間の比率をパーセンテージで示します。 このフィールドのデフォルト・ヘッダーは %CPUです。
pgid
プロセスのグループ ID の 10 進値を示します。 このフィールドのデフォルト・ヘッダーは PGIDです。
pid
プロセス ID の 10 進値を示します。 このフィールドのデフォルト・ヘッダーは PIDです。
ppid
親プロセス ID の 10 進値を示します。 このフィールドのデフォルト・ヘッダーは PPIDです。
rgroup
プロセスの実グループ ID を示します。 テキストによるグループ ID が表示されます。 テキストによるグループ ID を獲得できない場合には、10 進表記が使用されます。 このフィールドのデフォルト・ヘッダーは RGROUPです。
ruser
プロセスの実ユーザー ID を示します。 テキストによるユーザー ID が表示されます。 テキストによるユーザー ID を獲得できない場合には、10 進表記が使用されます。 このフィールドのデフォルト・ヘッダーは RUSERです。
scount
カーネル・スレッドの中断カウントを示します。 このフィールドのデフォルト・ヘッダーは SCです。
sched
カーネル・スレッドのスケジューリング・ポリシーを示します。 このフィールドのデフォルト・ヘッダーは SCHです。
shmpgsz
プロセスの共有メモリー・ページ・サイズを示します。
spgsz
プロセスのスタック・ページ・サイズを示します。
tag
ワークロード・マネージャーのアプリケーション・タグを示します。 このフィールドのデフォルト・ヘッダーは TAGです。 タグは、最大 30 文字の長さの文字ストリングで、 psによって表示されるときに切り捨てられる可能性があります。 タグを設定しない プロセスの場合、このフィールドは - (ハイフン) として表示されます。
tcpu
CPU 時間の合計。 これは、単一プロセスの場合の CPU 時間の累計を示します。 このコマンドは WLM がアクティブまたはパッシブ・モードのいずれかで実行中に情報を表示し、それ以外の場合、このフィールドは - (ハイフン) として表示されます。 このフィールドのデフォルト・ヘッダーは TCPUです。
tctime
合計接続時間。 1 つのログイン・セッションがアクティブであることが可能な時間の合計を示します。 この値に意味があるのは、セッション・リーダー・プロセスの場合だけです。 このフィールドのデフォルト・ヘッダーは TCTIMEです。
tdiskio
合計ディスク入出力。 単一プロセスのディスク入出力の累積ブロックの合計を示します。 このフィールドのデフォルト・ヘッダーは TDISKIOです。
tpgsz
プロセスのテキスト・ページ・サイズを示します。
vmsize
WLM 仮想メモリー限度を示します。 これを使用すると、新しいヘッダー VMSIZ が表示されます。 VMSIZ は、プロセスによって使用されている仮想メモリーを表示します。 この値は 1 MB 単位で表されます。
thcount
プロセスが所有するカーネル・スレッドの数を示します。 このフィールドのデフォルト・ヘッダーは THCNTです。
-o (続き)
THREAD
以下のフィールドを示します。
  • ユーザー名 ( uname フィールド)
  • プロセスのプロセス ID および親プロセス ID ( pid および ppid フィールド)
  • スレッドのカーネル・スレッド ID ( tid フィールド)
  • プロセスまたはカーネル・スレッドの状態 ( s フィールド)。
  • プロセスまたはカーネル・スレッドの CPU 使用率 ( C フィールド)
  • プロセスまたはカーネル・スレッドの優先順位 ( PRI フィールド)
  • プロセスまたはカーネル・スレッドの中断状態のカウント ( scount フィールド)
  • プロセスまたはカーネル・スレッドの待機チャネル ( WCHAN フィールド)。
  • プロセスまたはカーネル・スレッドのフラグ ( F フィールド)。
  • プロセスの制御端末 (「 tty 」フィールド)
  • プロセスまたはカーネル・スレッドがバインドされている CPU ( bnd フィールド)
  • プロセスによって実行されているコマンド ( comm フィールド)。

-o THREAD フラグを指定しても、-m フラグも指定しなければ、スレッドは表示されません。

注: ps -o THREAD フラグは、スケジューラー・ポリシーを出力しません。 スケジューリング・ポリシーは、sched フラグが指定された場合のみ表示されます。
tid
カーネル・スレッドのスレッド ID を示します。 このフィールドのデフォルト・ヘッダーは TIDです。
time
プロセス始動後の CPU の累積時間を示します。 時間は以下のフォーマットで表示されます。

[ dd-] hh:mm:ss

dd は日数を、hh は時間数を、mm は分数を、ss は秒数を指定します。 このフィールドのデフォルト・ヘッダーは TIME です。

tty
プロセスの制御端末名を示します。 このフィールドのデフォルト・ヘッダーは TTです。
user
プロセスの実効ユーザー ID を示します。 テキストによるユーザー ID が表示されます。 テキストによるユーザー ID を獲得できない場合には、10 進表記が使用されます。 このフィールドのデフォルト・ヘッダーは USERです。
vsz
仮想メモリーでのプロセスのサイズを、キロバイト単位の 10 進整数で示します。 このフィールドのデフォルト・ヘッダーは VSZです。

上記以外の場合には、フィールド・ディスクリプターも含め、複数フィールドを Format 変数による指定フォーマットで表示できます。 フォーマット 変数でフィールド記述子を使用する場合は、二重引用符 ("") で囲む必要があります。 以下の表は、フィールド記述子がフィールド指定子にどのように対応するかを示しています。

 
Field           Field           Default 
Descriptors     Specifiers      Headers
%a              args            COMMAND
%c              comm            COMMAND
%t              etime           ELAPSED
%D              dpgsz           DPGSZ
%G              group           GROUP
%n              nice            NI
%C              pcpu            %CPU
%r              pgid            PGID
%p              pid             PID
%P              ppid            PPID
%g              rgroup          RGROUP
%u              ruser           RUSER
%S              spgsz           SPGSZ
%x              time            TIME
%T              tpgsz           TPGSZ gd
%y              tty             TTY
%U              user            USER
%z              vsz             VSZ

それぞれのフィールド指定子にはデフォルトのヘッダーがあります。 デフォルトのヘッダーをオーバーライドするには、 等号 (=) の後にヘッダーのユーザー定義テキストを指定します。 フィールドは、コマンド行で指定された順序で列形式で書き込まれます。 フィールド幅は、少なくともデフォルト幅かユーザー定義ヘッダー・テキストの幅になるように、 システムによって指定されます。 ヘッダー・テキストが NULL の場合 (例えば、 -o user= が指定されている場合)、フィールド幅は少なくともデフォルトのヘッダー・テキストと同じ幅になります。 すべてのヘッダー・フィールドが null の場合、ヘッダー行は書き込まれません。

 
以下は、デフォルト・ヘッダーとさまざまなフィールド指定子の間のマッピングです。 「Default Header」列の各エントリーは、 「Field specifier」の対応するエントリーに等号 (=) を追加し、その後にヘッダーのユーザー定義テキストを指定することによってオーバーライドすることができます。
Default Header                 Field specifier

ARGS                          "args"
COMM                          "comm"
COMM                          "command"
COMM                          "ucomm"
F_ETIME                       "etime"
GROUP                         "group"
GROUP                         "gname"
GID                           "gid"
NICE                          "nice"
PRI                           "pri"
NICE                          "ni"
PCPU                          "pcpu"
PMEM                          "pmem"
PGID                          "pgid"
PID                           "pid"
PPID                          "ppid"
RGROUP                        "rgroup"
RGROUP                        "rgname"
RGID                          "rgid"
RUSER                         "ruser"
RUSER                         "runame"
RUID                          "ruid"
TIME                          "time"
TIME                          "cputime"
TTY                           "tty"
TTY                           "tt"
TTY                           "tname"
TTY                           "longtname"
USER                          "user"
USER                          "uname"
UID                           "uid"
LOGNAME                       "logname"
STIME                         "start"
VSZ                           "vsz"
VSZ                           "vsize"
RSS                           "rssize"
FLAG                          "flag"
STATUS                        "status"
CP                            "cp"
PAGEIN                        "pagein"
WCHAN                         "wchan"
NWCHAN                        "nwchan"
ST                            "st"
TID                           "tid"
SCOUNT                        "scount"
BIND                          "bnd"
SCHED                         "sched"
THCOUNT                        "thcount"
TAG                           "tag"
CLASS                         "class"
TCPU                          "tcpu"
TDISKIO                       "tdiskio"
TCTIME                        "tctime"
MACLAB                        "mac"
-p Plist Plist 変数に指定されたプロセス番号を持つプロセスに関する情報のみを表示します。 Plist 変数は、プロセス ID 番号のコンマ区切りリスト、または二重引用符 ("") で囲まれたプロセス ID 番号のリストのいずれかです。 そして、コンマまたは 1 つ以上のスペース、あるいはその両方で互いに区切ります。
-P プロジェクトのプロジェクト名、プロジェクト・オリジン (Project origin)、およびサブプロジェクト ID を表示します。 スティッキー・ビットがプロセスに設定されている場合、プロジェクト名の前にアスタリスク (*) 文字が 付きます。 Project origin フィールドは、現在ロードされているプロジェクト・リポジトリー (LOCAL または LDAP) を示します。
-t 一覧 Tlist 変数にリストされている制御 ttys に関連付けられているプロセスに関する情報のみを表示します。 Tlist 変数は、tty ID のコンマ区切りリスト、または二重引用符 ("") で囲まれた tty ID のリストのいずれかです。 そして、コンマまたは 1 つ以上のスペース、あるいはその両方で互いに区切ります。
-T PID ASCII アートを使用して、指定された PID をルートとするプロセス階層をツリー形式で表示します。 このフラグは、 -f-F-o、および -l フラグと一緒に使用できます。
-u Ulist このフラグは、 -U Ulist フラグと同等です。 -u フラグは、 -@ フラグも指定されていない限り、現在の稼働環境にのみ適用されます。 -@ フラグを使用して現在の操作環境以外のワークロード区画を指定し、 -u フラグを指定する場合、ユーザー ID のリストは数値でなければなりません。
-U Ulist Ulist 変数に指定されたユーザー ID 番号またはログイン名を持つプロセスに関する情報のみを表示します。 Ulist 変数は、コンマで区切ったユーザー ID のリストか、または二重引用符 (" ") で囲み、コンマか 1 つ以上のスペースで区切ったユーザー ID のリストです。 -U フラグだけは、 現行稼働環境に適用されます。ただし、-@ フラグも指定されている場合はその限りではありません。 -@ フラグを使用して現行稼働環境以外のワークロード区画を指定し、かつ、-U フラグが指定されている場合、ユーザー ID のリストは数値でなければなりません。 リストでは、 ps コマンドは、 -f フラグが使用されていない限り、数値のユーザー ID を表示します。そうすると、ログイン名が表示されます。 このフラグは、 -u Ulist フラグと同等です。 u フラグも参照してください。
-X 各ユーザー名/グループ名の使用可能なすべての文字を、最初の 8 文字で切り捨てずに印刷します。
-Z プロセスのページ・サイズ設定を表示します。
DPGSZ
プロセスのデータ・ページ・サイズを示します。
SHMPGSZ
プロセスが割り振る共有メモリー・ページ・サイズを示します。
SPGSZ
プロセスのスタック・ページ・サイズを示します。
TPGSZ
プロセスのテキスト・ページ・サイズを示します。
-@ [ WparName ] ワークロード区画 WparName に関連付けられたプロセス情報を表示します。 WparName パラメーターを指定しない場合、すべてのワークロード区画のプロセス情報が表示されます。 ワークロード区画情報はすべてのプロセスについて表示されます。 どのプロセス情報を表示するかを決定するには、 ps コマンドに他のフラグを指定します。

オプション

以下のオプションの前には負符号 (-) が付きません。

表 2. オプション
項目 説明
a 端末を使用するすべてのプロセスに関する情報を表示します (通常はユーザー自身のプロセスのみが表示されます)。
c プロセス・アドレス・スペースに格納されたコマンド・パラメーターではなく、 アカウンティング用にシステムに格納されたコマンド名を表示します。
e 環境およびコマンドのパラメーターを表示します (最大 80 文字まで)。
ew e フラグからの表示を、1 行余分にラップします。
eww e フラグからの表示をラップし、LINE_MAX 値に到達するまで ENV リストを表示します。
ewww e フラグからの表示をラップし、INT_MAX 値に到達するまで ENV リストを表示します。
g すべてのプロセスを表示します。
l FsUIDPIDPPIDCPRINIADDRSZPSSWCHANTTYTIME、および CMD の各フィールドを持つ長いリストを表示します。
n 数値出力を表示します。 詳細なリストでは、WCHAN フィールドは記号ではなく数値で表示されます。 ユーザーのリストでは、USER フィールドは UID フィールドに置き換えられます。
s (システム保守担当者によって使用される) 各プロセスのカーネル・スタックのサイズ (SSIZ) を、基本出力フォーマットで表示します。 マルチスレッド・プロセスの場合、この値は常に 0 (ゼロ) です。
t tty 制御 tty が tty 変数の値であるプロセスを表示します。この変数は、 ps コマンドで出力されるように指定する必要があります。つまり、 0 (端末の場合) /dev/tty/0lft0 ( /dev/lft0の場合)、および pts/2 ( /dev/pts/2の場合) です。
u ユーザー向け出力を表示します。 これには、 USERPID%CPU%MEMSZRSSTTYSTATSTIMETIME、および COMMAND の各フィールドが含まれます。
v PGINSIZERSSLIMTSIZTRS%CPU%MEM の各フィールドを表示します。
w 幅の広いフォーマットで出力します (80 ではなく 132 桁)。 繰り返される場合 (例えば、 ww)) は、任意の幅の出力を使用します。 この情報を使って、コマンドをどれくらいの長さで表示するかが決められます。
x 制御する端末を持つプロセスに加えて、制御する端末を持たないプロセスも表示します。
X フル・ユーザー名またはグループ名を出力します。 名前は切り捨てられません。

終了状況

このコマンドは、以下の終了値を戻します。

表 3. 終了状況
項目 説明
0 正常終了。
>0 エラーが発生しました。

セキュリティー

Attention RBAC users: このコマンドは特権操作を実行できます。 特権命令を実行できるのは特権ユーザーのみです。 権限および特権について詳しくは、「セキュリティー」の『特権コマンド・データベース』を参照してください。 このコマンドに関連した特権および権限のリストについては、lssecattr コマンドまたは getcmdattr サブコマンドの項を参照してください。

  1. すべてのプロセスを表示するには、以下のように入力します。
    ps -e -f
    拡張ユーザー名を持つすべてのプロセスを表示するには、次のように入力します。
    ps -X -e -f
  2. 特定のユーザーが所有するプロセスをリストするには、以下のように入力します。
    ps -f -l -ujim,jane,su
  3. /dev/console および /dev/tty1 ttys タイプに関連付けられているプロセスをリストするには、次のように入力します。
    ps -t console,tty/1
  4. 端末と関連していないプロセスをリストするには、以下のように入力します。
    ps -t -
  5. 指定フォーマットをフィールド指定子付きで表示するには、以下のように入力します。
    ps -o ruser,pid,ppid=parent,args
    出力は以下のようになります。
    RUSER   PID     parent  COMMAND
    helene  34      12      ps -o ruser,pid,ppid=parent,args
  6. 指定フォーマットをフィールド・ディスクリプター付きで表示するには、以下のように入力します。
    ps -o "< %u > %p %y : %a"
    出力は以下のようになります。
    < RUSER  >      PID     TT :    COMMAND
    < helene >      34      pts/3 : ps -o < %u > %p %y : %a
  7. 現在の端末タイプによって制御されるプロセスおよびカーネル・スレッドに関する情報を表示するには、次のようにします。
    ps -lm
    出力は以下のようになります。
         F S UID  PID PPID  C PRI NI ADDR  SZ WCHAN   TTY  TIME  CMD
    240003 A  26 8984 7190  1  60 20 2974 312       pts/1  0:00  -ksh
       400 S   -    -    -  1  60  -    -   -           -     -  -
    200005 A  26 9256 8984 15  67 20 18ed 164       pts/1  0:00  ps
         0 R   -    -    - 15  67  -    -   -           -     -  -
  8. すべてのプロセスおよびカーネル・スレッドに関する情報を表示するには、以下のように入力します。
    ps -emo THREAD
    出力は以下のようになります。
    USER   PID  PPID  TID S  C PRI SC   WCHAN   FLAG   TTY BND  CMD
    jane  1716 19292    - A 10  60  1       * 260801 pts/7   -  biod
       -     -     - 4863 S  0  60  0 599e9d8   8400     -   -  -
       -     -     - 5537 R 10  60  1 5999e18   2420     -   3  -
    luke 19292 18524    - A  0  60  0 586ad84 200001 pts/7   -  -ksh
       -     -     - 7617 S  0  60  0 586ad84    400     -   -  -
    luke 25864 31168    - A 11  65  0       - 200001 pts/7   -  -
       -     -     - 8993 R 11  65  0       -      0     -   -  -
  9. すべての 64 ビット・プロセスをリストするには、次のように入力します。
    ps -M
  10. プロセスのプロジェクト割り当ての詳細を表示するには、次のように入力します。
    ps -P
  11. プロセスのページ・サイズ設定を表示するには、次のように入力します。
    ps -Z
    出力は以下のようになります。
              PID    TTY TIME DPGSZ SPGSZ TPGSZ SHMPGSZ CMD
            41856 pts/15 0:00    4K    4K    4K    64K    ps
            84516 pts/15 0:00    4K    4K    4K    64K    ksh

ファイル

表 4. ファイル
項目 説明
/usr/bin/ps ps コマンドが入っています。

パフォーマンス管理」の ps コマンドを使用する。

System V ps コマンド

構文 (System V)

/usr/sysv/bin/ps [ -a ] [ -A ] [ -c ] [ -d ] [ -e ] [ -f ] [ -j ] [ -l ] [ -L ] [ -P ] [ -y ] [ -g pgrplist ] [ -o format ] [ -p proclist ] [ -s sidlist ] [ -t termlist ] [ { -u | -U } uidlist ] [ -G grplist ] [ -X ]

説明 (System V)

ps コマンドは、アクティブなプロセスについての情報を印刷します。 フラグを指定しないと、 ps は、制御端末に関連付けられているプロセスに関する情報を表示します。 出力には、プロセス ID、端末 ID、累積実行時間、およびコマンド名が含まれます。 フラグとともに表示される情報は、それに応じて異なります。

出力

ps コマンドで使用されるフラグにより、 表示される情報によって列見出しは変化します。 各見出しの定義を以下にリストします (これらの見出しを表示させるフラグを括弧内に示します)。

F (-l)
プロセス (または、-L オプションを指定した場合は スレッド) に関連付けられたフラグ (16 進数で追加)。 プロセスおよびスレッドに関連付けられている、より重要な F フィールド・フラグ (16 進数および加算) のいくつかを以下に示します。
F フィールドの表
フラグ 16 進数 定義
SLOAD 0x00000001 プロセスがコア・メモリーで動作中であることを示す。
SNOSWAP 0x00000002 プロセスをスワップアウトできないことを示す。
STRC 0x00000008 プロセスがトレースされていることを示す。
SKPROC 0x00000200 カーネル・プロセスを示す。
SEXIT 0x00010000 プロセスが終了していることを示す。
SEXECED 0x00200000 プロセスにあることを示します。
SEXECING 0x01000000 プロセスが実行中 (exec を実行中) であることを示す。
TKTHREAD 0x00001000 スレッドがカーネル専用スレッドであることを示す。
注: /usr/include/sys/proc.h ファイルと /usr/include/sys/thread.h ファイルの p_flags フィールドと t_flags フィールドをそれぞれ参照することで、すべてのプロセス・フラグとスレッド・フラグの定義を確認できます。
S (-l)
プロセスまたはカーネル・スレッドの状態。
プロセスの場合:
O
存在しない
A
アクティブ
W
スワップ済み
I
アイドル
Z
取り消し
T
停止
カーネル・スレッドの場合:
O
存在しない
R
実行中
S
スリープ中
W
スワップ済み
Z
取り消し
T
停止
UID (-f,- l)
プロセスのユーザー ID 番号 (ログイン名は -f オプションの下に出力されます)。
PID (all)
プロセスのプロセス ID。
PPID (-f,-l)
親プロセスのプロセス ID。
CLS (-c)
プロセスのスケジューリング・クラス。 -c フラグが使用されている場合にのみ出力されます。
NI (-l)
sched_other ポリシーの優先順位の計算に使用されるプロセスの nice 値。
PRI (-c, -l)
プロセスまたはカーネル・スレッドの優先順位。 数値が大きいほど優先順位が低くなります。
ADDR (-l)
通常の場合は、プロセス・スタックのセグメント番号が入っています。カーネル・プロセスの場合は、プリプロセス・データ領域のアドレスです。
SZ (-l)
プロセスのコア・イメージのサイズ (ページ数)。
WCHAN(-l)
プロセスまたはカーネル・スレッドが待機中またはスリープ中であるイベント。 カーネル・スレッドの場合、カーネル・スレッドが実行中であれば、このフィールドはブランクになります。 プロセスの場合、カーネル・スレッドが 1 つだけスリープしていると、待機チャネルはスリープ中のカーネル・スレッドの待機チャネルとして定義されます。それ以外の場合は、アスタリスクが表示されます。
STIME (-f,-u)
プロセスの始動時刻。 LANG 環境変数がこのフィールドの表示を制御します。
TTY (all)
プロセスのための制御端末で、以下のとおりです。
-
プロセスが端末と関連付けられていない。
?
不明
TIME (all)
プロセスの合計実行時間。 時間の表示フォーマットは mm:ss または mmmm:ss (実行時間が 100 分に達した場合) です。これは -o time フラグを指定した場合の表示フォーマットとは異なります。
LTIME (-L)
個々の LWP の実行時間。
CMD (all)
コマンド名を含む。 完全なコマンド名およびそのパラメーターは、-f フラグで表示されます。
LWP (-L)
カーネル・スレッドの tid。
NLWP(-Lf)
プロセス内のカーネル・スレッドの数。
PSR (-P)
カーネル・スレッドがバインドされる論理プロセッサー番号 (バインドされる場合)。 プロセスの場合は、そのすべてのスレッドが同じプロセッサーにバインドされたときに、 このフィールドが表示されます。
RSS (-ly)
プロセスの実メモリー (常駐セット) サイズ (1 KB 単位で)。
Format

以下のリストは、システムによって認識されるフィールド指定子について説明しています。 これらのフィールド指定子を -o フラグと一緒に使用して、 ps コマンドの出力の形式を指定することができます。

システムによって認識されるフィールド指定子は、以下のとおりです。
addr
プロセス・スタックのセグメント番号を示します (正常の場合)。カーネル・プロセスの場合は、プリプロセス・データ域のアドレスを示します。 このフィールドのデフォルト・ヘッダーは ADDRです。
args
実行中のコマンドの完全名を示します。 切り捨てが行われる可能性がありますが、すべてのコマンド行引数が組み込まれます。 このフィールドのデフォルト・ヘッダーは COMMANDです。
c
プロセスまたはスレッドの CPU 使用率は、システム・クロックが刻み、プロセスまたはスレッドが実行中であることが検出されるたびに増加します。 スケジューラーは、毎秒一度ずつ 2 で除算してこの値を減分させます。 sched_other ポリシーでは、CPU 使用率はプロセスのスケジューリング優先順位を決定する際に使用されます。 値が大きい場合は、CPU 使用率の高いプロセスを示し、プロセスの優先順位が低くなります。一方、値が小さい場合は、入出力使用率の高いプロセスを示し、優先順位が高くなります。 このフィールドのデフォルト・ヘッダーは C です。
class
カーネル・スレッドのスケジューリング・ポリシーを示します。 ポリシーは、sched_other、 sched_fifo および sched_rr です。 このフィールドのデフォルト・ヘッダーは CLSです。
comm
実行中のコマンドの省略名を示します。 コマンド・ライン引数は含まれません。 このフィールドのデフォルト・ヘッダーは COMMANDです。
etime
プロセス始動後の経過時間を示します。 経過時間は以下のフォーマットで表示されます。
[[ dd -] hh: ]mm :ss
dd は日数を、hh は時間数を、mm は分数を、ss は秒数を指定します。

このフィールドのデフォルト・ヘッダーは ELAPSEDです。

f
プロセスに関連付けられたフラグ (16 進数で追加) を示します。 このフィールドのデフォルト・ヘッダーは COMMANDです。
fname
プロセスの実行可能ファイルのベース名の最初の 8 バイトを示します。 このフィールドのデフォルト・ヘッダーは COMMANDです。
gid
プロセスの有効なグループ ID 番号を、10 進の整数として示します。 このフィールドのデフォルト・ヘッダーは GIDです。 -f フラグを指定すると、ログイン名が出力されます。
group
プロセスの実効グループ ID を示します。 テキストによるグループ ID が表示されます。 テキストによるグループ ID を獲得できない場合には、10 進表記が使用されます。 このフィールドのデフォルト・ヘッダーは GROUPです。
lwp
カーネル・スレッドのスレッド ID を示します。 このフィールドのデフォルト・ヘッダーは TIDです。
nice
プロセスの nice の値の 10 進値を示します。 このフィールドのデフォルト・ヘッダーは NIです。
nlwp
プロセスが所有するカーネル・スレッドの数を示します。 このフィールドのデフォルト・ヘッダーは THCNTです。
pcpu
使用可能な CPU 時間に対する、使用された CPU 時間の比率をパーセンテージで示します。 このフィールドのデフォルト・ヘッダーは %CPUです。
pgid
プロセスのグループ ID の 10 進値を示します。 このフィールドのデフォルト・ヘッダーは PGIDです。
pid
プロセス ID の 10 進値を示します。 このフィールドのデフォルト・ヘッダーは PIDです。
pmem
このプロセスによって使用されている実メモリーのパーセンテージを示します。 このフィールドのデフォルト・ヘッダーは %MEMです。
ppid
親プロセス ID の 10 進値を示します。 このフィールドのデフォルト・ヘッダーは PPIDです。
pri
プロセスまたはカーネル・スレッドの優先順位を示します。数値が大きいほど優先順位が低くなります。 このフィールドのデフォルト・ヘッダーは PRIです。
psr
カーネル・スレッドがバインドされるプロセッサーの論理プロセッサー番号を示します (ある場合)。 このフィールドのデフォルト・ヘッダーは PSRです。
rgid
プロセスの実グループ ID 番号を、10 進の整数として示します。 このフィールドのデフォルト・ヘッダーは RGIDです。
rgroup
プロセスの実グループ ID を示します。 テキストによるグループ ID が表示されます。 テキストによるグループ ID を獲得できない場合には、10 進表記が使用されます。 このフィールドのデフォルト・ヘッダーは RGROUPです。
rss
プロセスの実メモリー (常駐セット) サイズを示します (1 KB 単位で)。 このフィールドのデフォルト・ヘッダーは RSSです。
ruid
プロセスの実ユーザー ID 番号を、10 進の整数として示します。 このフィールドのデフォルト・ヘッダーは RUIDです。
ruser
プロセスの実ユーザー ID を示します。 テキストによるユーザー ID が表示されます。 テキストによるユーザー ID を獲得できない場合には、10 進表記が使用されます。 このフィールドのデフォルト・ヘッダーは RUSERです。
s
プロセスの状態を示します。 このフィールドのデフォルト・ヘッダーは sです。
sid
セッション・リーダーのプロセス ID を示します。 このフィールドのデフォルト・ヘッダーは SIDです。
stime
プロセスの開始時刻を示します。 LANG 環境変数がこのフィールドの表示を制御します。 このフィールドのデフォルト・ヘッダーは STIMEです。
time
プロセス始動後の CPU の累積時間を示します。 時間は etime と同じフォーマットで表示されます。 このフィールドのデフォルト・ヘッダーは TIME です。
tty
プロセスの制御端末名を示します。 このフィールドのデフォルト・ヘッダーは TTです。
uid
プロセスの実効ユーザー ID 番号を 10 進の整数として示します。 このフィールドのデフォルト・ヘッダーは UIDです。
user
プロセスの実効ユーザー ID を示します。 テキストによるユーザー ID が表示されます。 テキストによるユーザー ID を獲得できない場合には、10 進表記が使用されます。 このフィールドのデフォルト・ヘッダーは USERです。
vsz
プロセスのコア・イメージのサイズを、キロバイト単位の 10 進整数で示します。 このフィールドのデフォルト・ヘッダーは VSZです。
wchan
プロセスまたはカーネル・スレッドが待機中またはスリープ中であるイベントを示します。 カーネル・スレッドの場合、カーネル・スレッドが実行中であれば、このフィールドはブランクになります。 プロセスの場合、カーネル・スレッドが 1 つだけスリープしていると、待機チャネルはスリープ中のカーネル・スレッドの待機チャネルとして定義されます。それ以外の場合は、アスタリスクが表示されます。

このフィールドのデフォルト・ヘッダーは WCHANです。

フラグ (System V)

いくつかのフラグは引数としてリストを受け付けます。 リスト内の項目は、コンマで区切るか、または二重引用符で囲んでコンマまたはスペースで区切ることができます。 proclistpgrplist の値は数字でなければなりません。

表 5. フラグ (System V)
項目 説明
-a セッション・リーダー、および端末に関連しないプロセスを除くすべてのプロセスに関する情報を標準出力に書き出します。
-A すべてのプロセスに関する情報を標準出力に書き出します。
-c スケジューラー属性を反映したフォーマットで情報を印刷します。 -c フラグは、以下で説明するように、 -f フラグおよび -l フラグの出力に影響を与えます。
-d セッション・リーダーを除くすべてのプロセスに関する情報を、標準出力に書き込みます。
-e カーネル・プロセスを除くすべてのプロセスに関する情報を、標準出力に書き込みます。
-f 完全なリストを生成します。
-g pgrplist pgrplistで指定されたプロセス・グループ内にあるプロセスに関する情報のみを標準出力に書き出します。 pgrplist の値は数字でなければなりません。
-G grplist grplistで指定されたプロセス・グループ内にあるプロセスに関する情報のみを標準出力に書き出します。 -G フラグはグループ名を受け付けます。
-j セッション ID とプロセス・グループ ID を表示します。
-l 詳細なリストを作成します。
-L プロセス内のアクティブ・スレッドの状況を出力します。
-o format formatで指定された形式で情報を表示します。 format 変数には、複数のフィールド指定子を指定できます。 -o フラグと一緒に使用できるフィールド指定子については、上記の Format セクションで説明しています。
-p proclist proclistで指定されたプロセス番号を持つプロセスに関する情報のみを表示します。 proclist の値は数字でなければなりません。
-P プロセスの 1 次カーネル・スレッドがバインドされているプロセッサーの、論理プロセッサー番号を表示します (ある場合)。
-s sidlist sidlist で指定されたセッション・リーダー ID を持つ、すべてのプロセスを表示します。
-t termlist termlistで指定された端末に関連付けられているプロセスに関する情報のみを表示します。
-u uidlist uidlistで指定されたユーザー ID 番号またはログイン名を持つプロセスに関する情報のみを表示します。
-U uidlist uidlistで指定されたユーザー ID 番号またはログイン名を持つプロセスに関する情報のみを表示します。
-X 各ユーザー名およびグループ名の使用可能なすべての文字を、最初の 8 文字で切り捨てずに印刷します。
-y -l オプションと組み合わせると、 RSS フィールドおよび SZ フィールドがキロバイト単位で印刷され、 F フィールドおよび ADDRフィールドが印刷されないように、長いリストが変更されます。

終了状況 (System V)

このコマンドは、以下の終了値を戻します。

表 6. 終了状況 (System V)
項目 説明
0 正常終了。
>0 エラーが発生しました。

セキュリティー (System V)

アテンション RBAC ユーザー
RBAC ユーザーへの注意: このコマンドは特権操作を実行できます。 特権命令を実行できるのは特権ユーザーのみです。 権限および特権について詳しくは、「 セキュリティー」の「特権コマンド・データベース」を参照してください。 このコマンドに関連した特権および権限のリストについては、lssecattr コマンドまたは getcmdattr サブコマンドの項を参照してください。

例 (System V)

  1. すべてのプロセスを表示するには、以下のように入力します。
    ps -e -f
  2. ユーザー 'guest' が所有するプロセスをリストするには、次のように入力します。
    ps -f -l -u guest 
  3. /dev/pts/0 および /dev/pts/1 端末に関連したプロセスをリストするには、次のように入力します。
    ps -t pts/0,pts/1
  4. 端末と関連していないプロセスをリストするには、以下のように入力します。
    ps -t -
  5. 指定フォーマットをフィールド指定子付きで表示するには、以下のように入力します。
    ps -o ruser,pid,ppid,args
  6. プロセス内のすべてのカーネル・スレッドについての情報を表示するには、次のように入力します。
    ps -L
  7. すべてのプロセスのセッション ID とプロセス・グループ ID を表示するには、次のように入力します。
    ps -jA
  8. プロセスのスケジューリング・クラスと優先順位を表示するには、次のように入力します。
    ps -c -l 
  9. カーネル・スレッドについての情報および、プロセス内のカーネル・スレッドの数を表示するには、次のように入力します。
    ps -L -f 
  10. プロセスまたはカーネル・スレッドがバインドされているプロセッサーを表示するには、次のように入力します。
    ps  -P
  11. 特定のプロセス (以下の例ではinetd ) の ASCII アートを印刷するには、次のように入力します。
    ps -T 14220
    出力は次のようになります。
         PID    TTY  TIME CMD
       14220      -  0:00 inetd
       16948      -  0:00    |\--telnetd
       32542  pts/4  0:00    |    \--ksh
       26504      -  0:00    |\--telnetd
       41272  pts/5  0:00    |    \--ksh
       26908  pts/5  0:00    |        \--vi
       28602      -  0:00    |\--telnetd
       24830  pts/0  0:00    |    \--ksh
      676416  pts/0  0:00    |        \--ksh
       29984      -  0:00    |\--telnetd
       38546  pts/6  0:00    |    \--ksh
       32126      -  0:00    |\--telnetd
       11162  pts/7  0:00    |    \--ksh
       34466      -  0:00    |\--rpc.ttdbserver
       35750      -  0:00    |\--telnetd
       23612  pts/3  0:00    |    \--ksh
       36294      -  0:00    |\--telnetd
       38096  pts/8  0:00    |    \--ksh
       39740      -  0:00    |\--telnetd
       42226  pts/9  0:01    |    \--ksh
       40632      -  0:00    |\--telnetd
       40232  pts/2  0:00    |    \--ksh
       32910  pts/2  0:00    |        \--dbx
      987990  pts/2  0:00    |            \--a.out
       40722      -  0:00    |\--telnetd
       16792 pts/10  0:00    |    \--ksh
       37886 pts/10  0:00    |        \--ps
      105716      -  0:00     \--telnetd
       29508  pts/1  0:00         \--ksh
       39478  pts/1  0:00             \--ksh
       38392  pts/1  0:00                 \--vi
  12. 指定された pid をルートとするすべてのプロセスに関する情報を出力するには、次のように入力します。
    ps -fL 14220
    出力は次のようになります。
      UID   PID  PPID   C    STIME    TTY  TIME CMD
    root 14220  8676   0   Apr 07      -  0:00 /usr/sbin/inetd
    root 16948 14220   0   Apr 06      -  0:00 telnetd -a
    root 23612 35750   0   Apr 10  pts/3  0:00 -ksh
    root 24830 28602   1 18:30:56  pts/0  0:00 -ksh
    root 28602 14220   0 18:30:55      -  0:00 telnetd -a
    root 32542 16948   0   Apr 06  pts/4  0:00 -ksh
    root 34466 14220   0   Apr 10      -  0:00 rpc.ttdbserver 100083 1
    root 35750 14220   0   Apr 10      -  0:00 telnetd -a
    root 40228 24830   8 18:36:01  pts/0  0:00 ps -fL 14220
  13. すべてのプロセスを、展開されたユーザー名を使用して表示するには、以下のように入力します。
    ps -X -e -f
  14. スレッドのスケジューリング・ポリシーを表示するには、以下のコマンドを入力します。
    #ps -m -o THREAD,sched
     USER     PID    PPID      TID ST  CP PRI SC WCHAN   F     TT BND COMMAND     SCH
    suresana 1609830 4227284        - A   16  68  1   - 200001 pts/144   - ps -m  
                                                                  -o THREAD sched 0
           -       -       -  6381739 R   16  68  1   -400000      -   - -        0
    suresana 4227284 4239476        - A    1  60  1   -200801 pts/144   - bash    0
           -       -       -  4177981 S    1  60  1   -410400      -   - -        0
    suresana 4239476  921694        - A    0  60  1   -240001 pts/144   - -ksh    0
           -       -       -  5554385 S    0  60  1   -10400      -   - -         0

ファイル (System V)

表 7. ファイル (System V)
項目 説明
/usr/sysv/bin/ps System V R4 ps コマンドが入っています。
/etc/passwd ユーザー ID 情報が入っています。
/dev/pty* 端末 (PTY) 名を示します。
/dev/tty* 端末 (TTY) 名を示します。