ps コマンド

目的

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

構文

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 ] ]

Berkeley 標準

ps [ a ] [ c ] [ e ] [ ew ] [ eww ] [ ewww ] [ g ] [ n ] [ w ] [ x ] [ l | s | u | v ] [ t tty ] [ X ] [ ProcessNumber ]

説明

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

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

-o フラグでは、 ps コマンドはメモリーまたはページング域を調べて、 プロセスが作成されたときのコマンド名およびパラメーターを判別します。ps コマンドがこの情報を見つけられなければ、カーネル内に格納されたコマンド名が大括弧で囲まれて表示されます。

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

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

ps コマンドの出力がworkload partition (WPAR) 名を含んでいないが、現行稼働環境下のワークロード区画内で実行するプロセスが関連する、プロジェクト ID (PROJECT)、ユーザー ID (UID あるいは USER)、またはグループ ID (GID) を含んでいる場合、ID にはプラス記号 (+) が前に付いてworkload partitionとの関連を示します。各workload partitionには、ユーザー、グループ、およびプロジェクト ID のそれ自体の定義が含まれており、それらの ID は、グローバル環境用に定義したものとは異なっている可能性があります。-@ オプションを指定して、出力の中にworkload partitionの名前を組み込むことができます。

注: 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 オプションなしにコマンド名が表示されるように、大括弧の中にそのコマンド名が書き込まれます。
COMMAND
(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 プロセッサーが、ウェイクアップ/待機の危険のどちらかを選択していることを示す。
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 ファイルの p_flags フィールドおよび /usr/include/sys/thread.h ファイルの 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 フラグ) プロセスに割り当てられたプロジェクト名。 PROJECTUSER フィールドは、現行稼働環境下のworkload partition内で実行中のプロセスに対する名前に変換されません。-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_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。
TIME
(すべてのフラグ) プロセスの合計実行時間。 時間の表示フォーマットは mm:ss または mmmm:ss (実行時間が 100 分に達した場合) です。これは -o time フラグを指定した場合の表示フォーマットとは異なります。
TPGSZ
(Z フラグ) プロセスのテキスト・ページ・サイズ。
TRS
(v フラグ) テキストの常駐セット (実メモリー) のサイズ。
TSIZ
(v フラグ) テキスト (共用プログラム) イメージのサイズ。
TTY
(すべてのフラグ) プロセスのための制御端末で、以下のとおりです。
-
プロセスが端末と関連付けられていない。
?
不明。
Number
TTY 番号。例えば、エントリー 2 は TTY2 を示します。
UID
(-f-l、および l フラグ) プロセス・オーナーのユーザー ID。-f フラグを指定すると、ログイン名が表示されます。
USER
(u フラグ) プロセス・オーナーのログイン名。 PROJECTUSER フィールドは、現行稼働環境下のworkload partition内で実行中のプロセスに対する名前に変換されません。
WCHAN
(-l フラグ) プロセスまたはカーネル・スレッドが待機中またはスリープ中であるイベント。 カーネル・スレッドの場合、カーネル・スレッドが実行中であれば、このフィールドはブランクになります。 プロセスの場合、カーネル・スレッドが 1 つだけスリープしていると、待機チャネルはスリープ中のカーネル・スレッドの待機チャネルとして定義されます。それ以外の場合は、アスタリスクが表示されます。
WCHAN
(l フラグ) プロセスが待機中のイベント (システム内のアドレス)。 数値出力が要求されない限り、アドレスをソートする記号が選ばれます。
%CPU
(u および v フラグ) プロセス始動以降、プロセスが CPU を使用した時間のパーセンテージ。この値は、プロセスが CPU を使用した時間をプロセスの経過時間で割ることによって算出されます。 マルチプロセッサー環境では、同じプロセスにある複数のスレッドは異なる CPU 上で同時に稼働できるため、この値をさらに使用可能な CPU の数で割ります。 (このデータを算出するための時間基準は変動するため、すべての %CPU フィールドの合計は 100% を超えることがあります。)
%MEM
(u および v フラグ) このプロセスによって使用される実メモリーのパーセンテージ。 %MEM の値は、他のプロセスとプログラム・テキストを共用するプロセスのコストを誇張する傾向にあります。 1 つのプログラムの複数のコピーが実行されていて、プログラム・テキストのコピーがすべてのインスタンスによって共用されている場合、共用による重複は考慮されていません。 そのプログラムのインスタンスごとに、テキスト・セクションのサイズが考慮されます。 したがって、あるプログラムの複数のコピーが実行されている場合、全プロセスの %MEM 値を合計すると 100% を超えることがあります。
既に終了しており、そのプロセスの終了を待っていない親プロセスを持つプロセスは、<defunct> と記されます。終了しようとしてブロックされたプロセスは、<exiting> と記されます。ps コマンドは、メモリーまたはスワップ領域によってプロセスが作成されたときに指定されたファイル名および引数を判別しようとします。
注:
  1. ps コマンドの実行中に、プロセスが変更することがあります。 その場合、defunct プロセスの表示データの一部は無意味なものとなります。
  2. ps プログラムはメモリーを検査して、プロセスの作成時に使用されたファイル名および引数を検索します。 ただし、プロセスが情報を破壊する可能性があるので、 このファイル名と引数の検索方法は信頼性を欠きます。
  3. ps プログラムは、ローカル・リソースでユーザーおよびグループ情報を検索します。

フラグ

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

項目 説明
-A すべてのプロセスに関する情報を標準出力に書き出します。
-a セッション・リーダー、および端末に関連しないプロセスを除くすべてのプロセスに関する情報を標準出力に書き出します。
-c Clist 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 pidlist 変数で PID に渡された、各 PID すべての 子孫のリストを生成します。 pidlist 変数は、コンマで区切られたプロセス ID の リストです。指定されたすべての PID からの子孫のリストが、 プロセス・テーブルに現れた順に印刷されます。
-M すべての 64 ビット・プロセスをリストします。
-m プロセスとともにカーネル・スレッドもリストします。プロセスの出力行に続いて、カーネル・スレッドごとに追加の出力行がリストされます。 このフラグは、適切な -o Format フラグが指定されない限り、 スレッドに固有のフィールド (bndscountschedthcount、 および tid) を表示しません。
-N スレッド統計情報の収集は行いません。このフラグを指定すると、ps は、 プロセスのスレッド・チェーンをスキャンしなくても入手できる統計情報だけをレポートします。
-n NameList デフォルトの代わりに代替システム名リスト・ファイルを指定します。 オペレーティング・システムでは、情報は直接カーネルに提供されるため、 -n フラグは使用されません。
-o Format Format 変数で指定されたフォーマットで情報を表示します。Format 変数には、複数のフィールド指定子を指定できます。Format 変数は、コンマで区切ったフィールド指定子のリストか、 または 1 組の " " (二重引用符) で囲み、コンマか 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 (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 変数による指定フォーマットで表示できます。フィールド・ディスクリプターを 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 番号のリストか、または二重引用符 (" ") で囲み、コンマか 1 つ以上のスペースで区切ったプロセス ID 番号のリスト、あるいはその両方です。
-P プロジェクトのプロジェクト名、プロジェクト・オリジン (Project origin)、およびサブプロジェクト ID を表示します。 スティッキー・ビットがプロセスに設定されている場合、プロジェクト名の前にアスタリスク (*) 文字が 付きます。 Project origin フィールドにより、現在ロードされているプロジェクト・リポジトリー (LOCAL または LDAP) を指定します。
-t Tlist Tlist 変数にリストされた制御 tty に関連したプロセスに関する情報のみを表示します。Tlist 変数は、 コンマで区切った tty ID のリストか、二重引用符 (" ") で囲み、 それぞれをコンマまたは 1 つ以上のスペースで区切った tty ID のリストのいずれか、あるいはその両方です。
-T pid 指定された PID を root とするプロセス階層を、ASCII アートを使用して ツリー・フォーマットで表示します。このフラグ は、-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 コマンドに他のフラグを指定する必要があります。

オプション

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

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

終了状況

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

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

セキュリティー

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

  1. すべてのプロセスを表示するには、以下のように入力します。
    ps -e -f
    すべてのプロセスを、展開されたユーザー名を使用して表示するには、以下のように入力します。
    ps -X -e -f
  2. 特定のユーザーが所有するプロセスをリストするには、以下のように入力します。
    ps -f -l -ujim,jane,su
  3. /dev/console および /dev/tty1 の tty に関連するプロセスをリストするには、 以下のように入力します。
    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

ファイル

項目 説明
/usr/bin/ps ps コマンドが入っています。

パフォーマンス・マネージメント」の Using the ps command のセクション。

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 ファイルの p_flags フィールドおよび /usr/include/sys/thread.h ファイルの 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 単位で)。

フォーマット

次のリストは、システムにより認識されるフィールド指定子を説明しています。 これらのフィールド指定子は、 -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 の値は数字でなければなりません。

項目 説明
-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 フラグと一緒に使用できるフィールド指定子は、 上のフォーマットのセクションに記述されています。
-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)

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

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

セキュリティー (System V)

RBAC ユーザーおよび Trusted AIX ユーザーへの注意: このコマンドは特権操作を実行できます。特権命令を実行できるのは特権ユーザーのみです。 権限および特権について詳しくは、「セキュリティー」の『特権コマンド・データベース』を参照してください。このコマンドに関連した特権および権限のリストについては、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 を root とするすべてのプロセスに関する情報を印刷するには、 次のように入力します。
    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)

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