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、 -o、l、-l、s、u、および v は、 プロセスに関して表示する情報量のみを決定し、どのプロセスをリストするかを決定するわけではありません。フラグ l、s、u、および 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 コマンドに指定したフラグに応じて、標準出力に表示される情報の上に列見出しが表示されます。 各見出しの定義を以下にリストします。これらの見出しを表示させるフラグは括弧内に示されています。
- ADDR
- (-l および l フラグ) 通常の場合は、プロセス・スタックのセグメント番号が入っています。カーネル・プロセスの場合は、プリプロセス・データ領域のアドレスです。
- BND
- (-o THREAD フラグ) カーネル・スレッドがバインドされる論理プロセッサー番号 (バインドされる場合)。プロセスの場合は、そのすべてのスレッドが同じプロセッサーにバインドされたときに、 このフィールドが表示されます。
- C
- (-f、l、および -l フラグ) プロセスまたはスレッドの CPU 使用状況。この値は、システム・クロックが時を刻むごとに増加し、プロセスまたはスレッドが実行中であることがわかります。スケジューラーは、毎秒一度ずつ 2 で除算してこの値を減分させます。 sched_other ポリシーでは、CPU 使用率はプロセスのスケジューリング優先順位を決定する際に使用されます。 大きな値は CPU 処理中心のプロセスを示し、プロセス優先順位が低くなりますが、小さな値は入出力処理中心のプロセスを示し、優先順位がそれより高くなります。
- CMD
- (-f、-l、および l フラグ) コマンド名が入っています。-f フラグのもとでは、ps は現在のコマンド名と引数の判別を試みます。これらはいずれもプロセスによって非同期的に変更される場合があります。 この後そのコマンド名と引数が表示されます。この表示に失敗すると、-f オプションなしにコマンド名が表示されるように、大括弧の中にそのコマンド名が書き込まれます。
- COMMAND
- (s、u、および 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
- (-f、l、および -l フラグ) 親プロセスのプロセス ID。
- PRI
- (-l および l フラグ) プロセスまたはカーネル・スレッドの優先順位。 大きい番号ほど優先順位が低い。
- PROJECT
- (-P フラグ) プロセスに割り当てられたプロジェクト名。 PROJECT と USER フィールドは、現行稼働環境下の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_other、sched_fifo、 および sched_rr はそれぞれ 0、1、2 と表示されます。スケジューリング・ポリシーは、sched フラグが指定された場合のみ表示されます。
- SIZE
- (v フラグ) プロセスのデータ・セクションの仮想サイズ (1 キロバイト単位)。
- SHMPGSZ
- (Z フラグ) プロセスの共有メモリー・ページ・サイズ。
- SPGSZ
- (Z フラグ) プロセスのスタック・ページ・サイズ。
- SSIZ
- (s フラグ) カーネル・スタックのサイズ。マルチスレッド・プロセスの場合、この値は常に 0 (ゼロ) です。
- STAT
- (s、u、および 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 フラグ) プロセス・オーナーのログイン名。 PROJECT と USER フィールドは、現行稼働環境下のworkload partition内で実行中のプロセスに対する名前に変換されません。
- WCHAN
- (-l フラグ) プロセスまたはカーネル・スレッドが待機中またはスリープ中であるイベント。 カーネル・スレッドの場合、カーネル・スレッドが実行中であれば、このフィールドはブランクになります。 プロセスの場合、カーネル・スレッドが 1 つだけスリープしていると、待機チャネルはスリープ中のカーネル・スレッドの待機チャネルとして定義されます。それ以外の場合は、アスタリスクが表示されます。
- WCHAN
- (l フラグ) プロセスが待機中のイベント (システム内のアドレス)。 数値出力が要求されない限り、アドレスをソートする記号が選ばれます。
- %CPU
- (u および v フラグ) プロセス始動以降、プロセスが CPU を使用した時間のパーセンテージ。この値は、プロセスが CPU を使用した時間をプロセスの経過時間で割ることによって算出されます。 マルチプロセッサー環境では、同じプロセスにある複数のスレッドは異なる CPU 上で同時に稼働できるため、この値をさらに使用可能な CPU の数で割ります。 (このデータを算出するための時間基準は変動するため、すべての %CPU フィールドの合計は 100% を超えることがあります。)
- %MEM
- (u および v フラグ) このプロセスによって使用される実メモリーのパーセンテージ。 %MEM の値は、他のプロセスとプログラム・テキストを共用するプロセスのコストを誇張する傾向にあります。 1 つのプログラムの複数のコピーが実行されていて、プログラム・テキストのコピーがすべてのインスタンスによって共用されている場合、共用による重複は考慮されていません。 そのプログラムのインスタンスごとに、テキスト・セクションのサイズが考慮されます。 したがって、あるプログラムの複数のコピーが実行されている場合、全プロセスの %MEM 値を合計すると 100% を超えることがあります。
- ps コマンドの実行中に、プロセスが変更することがあります。 その場合、defunct プロセスの表示データの一部は無意味なものとなります。
- ps プログラムはメモリーを検査して、プロセスの作成時に使用されたファイル名および引数を検索します。 ただし、プロセスが情報を破壊する可能性があるので、 このファイル名と引数の検索方法は信頼性を欠きます。
- 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 フラグが指定されない限り、 スレッドに固有のフィールド (bnd、 scount、 sched、 thcount、 および tid) を表示しません。 |
-N | スレッド統計情報の収集は行いません。このフラグを指定すると、ps は、 プロセスのスレッド・チェーンをスキャンしなくても入手できる統計情報だけをレポートします。 |
-n NameList | デフォルトの代わりに代替システム名リスト・ファイルを指定します。 オペレーティング・システムでは、情報は直接カーネルに提供されるため、 -n フラグは使用されません。 |
-o Format | Format 変数で指定されたフォーマットで情報を表示します。Format 変数には、複数のフィールド指定子を指定できます。Format 変数は、コンマで区切ったフィールド指定子のリストか、
または 1 組の " " (二重引用符) で囲み、コンマか 1 つ以上のスペースで区切ったフィールド指定子のリストか、
あるいはその両方です。
それぞれのフィールド指定子にはデフォルトのヘッダーがあります。デフォルトのヘッダーをオーバーライドするには、= (等号) の後にヘッダーのユーザー定義テキストを指定します。フィールドは、コマンド行に指定した順番で欄フォーマットで書き込まれます。 フィールド幅は、少なくともデフォルト幅かユーザー定義ヘッダー・テキストの幅になるように、 システムによって指定されます。 ヘッダー・テキストが null の場合 (例えば、 -o user= が指定された場合)、フィールド幅は少なくともデフォルトのヘッダー・テキストと同じ幅になります。すべてのヘッダー・フィールドが null の場合、ヘッダー行は書き込まれません。 システムが認識するフィールド指定子を以下に示します。
|
-o (続き) |
|
-o (続き) |
上記以外の場合には、フィールド・ディスクリプターも含め、複数フィールドを Format 変数による指定フォーマットで表示できます。フィールド・ディスクリプターを Format 変数に使用する場合には、そのフィールド・ディスクリプターを二重引用符 (" ") で囲まなければなりません。フィールド・ディスクリプターとフィールド指定子の対応を以下の表に示します。 |
それぞれのフィールド指定子にはデフォルトのヘッダーがあります。デフォルトのヘッダーをオーバーライドするには、 等号 (=) の後にヘッダーのユーザー定義テキストを指定します。フィールドは、コマンド行に指定した順番で欄フォーマットで書き込まれます。
フィールド幅は、少なくともデフォルト幅かユーザー定義ヘッダー・テキストの幅になるように、
システムによって指定されます。 ヘッダー・テキストが null の場合 (例えば、 |
|
以下は、デフォルト・ヘッダーとさまざまなフィールド指定子の間のマッピングです。「Default Header」列の各エントリーは、
「Field specifier」の対応するエントリーに等号 (=) を追加し、その後にヘッダーのユーザー定義テキストを指定することによってオーバーライドすることができます。
|
|
-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 | プロセスのページ・サイズ設定を表示します。
|
-@ [ WparName ] | ワークロード区画 WparName に関連付けられたプロセス情報を表示します。 WparName パラメーターを指定しない場合、すべてのワークロード区画のプロセス情報が表示されます。 ワークロード区画情報はすべてのプロセスについて表示されます。 どのプロセスの情報を表示するかを決めるには、ps コマンドに他のフラグを指定する必要があります。 |
オプション
以下のオプションの前には負符号 (-) が付きません。
項目 | 説明 |
---|---|
a | 端末を使用するすべてのプロセスに関する情報を表示します (通常はユーザー自身のプロセスのみが表示されます)。 |
c | プロセス・アドレス・スペースに格納されたコマンド・パラメーターではなく、 アカウンティング用にシステムに格納されたコマンド名を表示します。 |
e | 80 文字までの制限付きで、コマンドのパラメーターとともに環境変数を表示します。 |
ew | e フラグからの表示を、1 行余分にラップします。 |
eww | e フラグからの表示をラップし、LINE_MAX 値に到達するまで ENV リストを表示します。 |
ewww | e フラグからの表示をラップし、INT_MAX 値に到達するまで ENV リストを表示します。 |
g | すべてのプロセスを表示します。 |
l | F、 S、UID、PID、 PPID、C、PRI、 NI、ADDR、SZ、 PSS、WCHAN、TTY、 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 | ユーザー向け出力を表示します。これには、 USER、PID、%CPU、 %MEM、SZ、RSS、 TTY、STAT、STIME、 TIME、および COMMAND フィールドが含まれます。 |
v | PGIN、SIZE、RSS、LIM、TSIZ、TRS、%CPU、%MEM フィールドを表示します。 |
w | 幅の広いフォーマットで出力します (80 ではなく 132 桁)。繰り返すと、(例えば、ww) 任意に幅の広い出力が使用されます。 この情報を使って、コマンドをどれくらいの長さで表示するかが決められます。 |
x | 制御する端末を持つプロセスに加えて、制御する端末を持たないプロセスも表示します。 |
X | フル・ユーザー名またはグループ名を出力します。 名前は切り捨てられません。 |
終了状況
このコマンドは、以下の終了値を戻します。
項目 | 説明 |
---|---|
0 | 正常終了。 |
>0 | エラーが発生しました。 |
セキュリティー
RBAC ユーザーおよび Trusted AIX ユーザーへの注意: このコマンドは特権操作を実行できます。特権命令を実行できるのは特権ユーザーのみです。 権限および特権について詳しくは、「セキュリティー」の『特権コマンド・データベース』を参照してください。このコマンドに関連した特権および権限のリストについては、lssecattr コマンドまたは getcmdattr サブコマンドの項を参照してください。
例
- すべてのプロセスを表示するには、以下のように入力します。
ps -e -f
ps -X -e -f
- 特定のユーザーが所有するプロセスをリストするには、以下のように入力します。
ps -f -l -ujim,jane,su
- /dev/console および /dev/tty1 の tty に関連するプロセスをリストするには、
以下のように入力します。
ps -t console,tty/1
- 端末と関連していないプロセスをリストするには、以下のように入力します。
ps -t -
- 指定フォーマットをフィールド指定子付きで表示するには、以下のように入力します。
出力は以下のようになります。ps -o ruser,pid,ppid=parent,args
RUSER PID parent COMMAND helene 34 12 ps -o ruser,pid,ppid=parent,args
- 指定フォーマットをフィールド・ディスクリプター付きで表示するには、以下のように入力します。
出力は以下のようになります。ps -o "< %u > %p %y : %a"
< RUSER > PID TT : COMMAND < helene > 34 pts/3 : ps -o < %u > %p %y : %a
- 現在の端末によって制御されるプロセスおよびカーネル・スレッドに関する情報を表示するには、
以下のように入力します。
出力は以下のようになります。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 - - - - - -
- すべてのプロセスおよびカーネル・スレッドに関する情報を表示するには、以下のように入力します。
出力は以下のようになります。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 - - -
- すべての 64 ビット・プロセスをリストするには、次のように入力します。
ps -M
- プロセスのプロジェクト割り当ての詳細を表示するには、次のように入力します。
ps -P
- プロセスのページ・サイズ設定を表示するには、次のように入力します。
出力は以下のようになります。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)
いくつかのフラグは引数としてリストを受け付けます。 リスト内の項目は、コンマで区切るかまたは、 二重引用符で囲んでコンマまたはスペースで区切ります。 proclist と pgrplist の値は数字でなければなりません。
項目 | 説明 |
---|---|
-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)
- すべてのプロセスを表示するには、以下のように入力します。
ps -e -f
- ユーザー 'guest' が所有するプロセスをリストするには、次のように入力します。
ps -f -l -u guest
- /dev/pts/0 および /dev/pts/1 端末に関連したプロセスをリストするには、次のように入力します。
ps -t pts/0,pts/1
- 端末と関連していないプロセスをリストするには、以下のように入力します。
ps -t -
- 指定フォーマットをフィールド指定子付きで表示するには、以下のように入力します。
ps -o ruser,pid,ppid,args
- プロセス内のすべてのカーネル・スレッドについての情報を表示するには、次のように入力します。
ps -L
- すべてのプロセスのセッション ID とプロセス・グループ ID を表示するには、次のように入力します。
ps -jA
- プロセスのスケジューリング・クラスと優先順位を表示するには、次のように入力します。
ps -c -l
- カーネル・スレッドについての情報および、プロセス内のカーネル・スレッドの数を表示するには、次のように入力します。
ps -L -f
- プロセスまたはカーネル・スレッドがバインドされているプロセッサーを表示するには、次のように入力します。
ps -P
- 指定されたプロセス (次の例では
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
- 指定された 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
- すべてのプロセスを、展開されたユーザー名を使用して表示するには、以下のように入力します。
ps -X -e -f
- スレッドのスケジューリング・ポリシーを表示するには、以下のコマンドを入力します。
#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) 名を示します。 |