ナビゲーションリンクをスキップ | |
印刷ビューの終了 | |
![]() |
マニュアルページセクション 1: ユーザーコマンド Oracle Solaris 11.1 Information Library (日本語) |
- プロセスのステータス報告
ps [-aAcdefjHlLPyZ] [-g grplist] [-h lgrplist] [-n namelist] [-o format]... [-p proclist] [-s sidlist] [-t term] [-u uidlist] [-U uidlist] [-G gidlist] [-z zonelist]
ps コマンドは、活動中のプロセスに関する情報を出力します。オプションを指定しないと、ps は、「コマンドを実行したユーザー」と同じ実効ユーザー ID および同じ制御端末に関連するプロセスについての情報を出力します。出力される情報は、プロセス ID、端末識別子、累積実行時間およびコマンド名のみです。それ以外の場合、出力される情報はオプションによって制御されます。
オプションのなかには、リストを引数として使うものがあります。リストの項目は、コンマで区切られるか、あるいは引用符で囲まれてコンマかスペースで区切られます。proclist および grplist には、数値を指定してください。
ps コマンドは、ネイティブにコマンドを呼び出すか、ps(1B) で必要なコマンド構文を使用して呼び出すかを決定しようとします。後者の場合、ps コマンドは ps(1B) で説明されているのとまったく同じように動作します。
サポートしているオプションは、次のとおりです。
もっとも頻繁に要求されるすべてのプロセスに関する情報を表示します。ただし、プロセスのセッションリーダーおよび端末に関連していないプロセスは除きます。
すべてのプロセスの情報を表示します。後述の -e と同じです。
priocntl(1) で説明するように、スケジューラ特性を反映する形式で情報を出力します。以下で説明するように、-c オプションは、-f オプションと -l オプションの出力に影響します。
セッションリーダーを除くすべてのプロセスに関する情報を表示します。
現在実行中のすべてのプロセスに関する情報を表示します。
-e オプションを指定すると、-z、-t、-u、-U、-g、-G、-p、-g、-s、および -a オプションは効果がありません。
完全リストを作成します (完全リストにおけるカラムの意味については、以下を参照)。
grplist にグループリーダーの ID 番号が指定されているプロセスの情報を表示します (グループリーダーとは、プロセス ID 番号がプロセスグループ ID 番号と同じプロセスのこと)。
gidlist に実グループの ID 番号が指定されているプロセスの情報を出力します。gidlist は、複数の ID を空白またはコンマで区切って記述するリストで、単一の引数として指定する必要があります。
指定された lgrplist が存在するプロセスだけを表示します。lgrplist で指定されている無効なグループについては、何も表示されません。
追加の列ヘッダー (LGRP) にプロセスのホーム lgroup を出力します。
セッション ID およびプロセスグループ ID を出力します。
長い形式のリストを作成します (下記を参照)。
選択された各プロセス中の各軽量プロセス (lwp) についての情報を出力します (下記を参照)。
namelist で示すシステムファイルをデフォルトの代わりに使用します。このオプションは、互換のために受け入れられますが無視されます。
format が示す書式指定に従って出力情報を表示します。詳細は「表示書式」の節を参照してください。-o オプションは複数回指定することが可能です。その場合、複数の書式指定引数は、スペース文字で区切られて継続していると見なされます。
プロセス ID 番号が proclist で指定されたプロセスの情報のみを表示します。
追加のカラムヘッダー PSR (もしある場合) をつけて、プロセスまたは lwp が接続されたプロセッサ数を出力します。
ID が sidlist にあるすべてのセッションリーダーの情報を表示します。
term に関連するプロセスの情報のみを表示します。端末識別子は、デバイスのファイル名および識別子として指定されます。たとえば、term/a や pts/0 などです。
実効ユーザー ID またはログイン名が uidlist で指定されたプロセスデータのみを表示します。リスト出力時に、ログイン名を表示する -f オプションをユーザーが指定しないかぎり、ユーザー ID は数字で出力されます。
実グループ ID またはログイン名が uidlist に存在するプロセスの情報を表示します。uidlist は、複数の ID を空白またはコンマで区切って記述するリストで、単一の引数として指定する必要があります。
長い形式のリストで (-l)、旧式の F と ADDR カラムが省略され、プロセスの常駐の設定サイズを示す RSS カラムが含まれます。-y オプションを指定すると、RSS と SZ (後述参照) の両方が、ページの代わりに K バイト単位で報告されます。
指定されたゾーン内のプロセスだけを表示します。ゾーンは名前と ID のどちらでも指定できます。このオプションは、グローバルゾーンで実行する場合にのみ便利です。
プロセスに関連するゾーン名を、追加のカラムヘッダー ZONE の下に表示します。ZONE カラムの幅は 8 文字に制限されます。現在実行中のすべてのプロセスと関連ゾーン名に関する情報をすばやく確認するには、ps -eZ を使用します。8 文字幅を超えるゾーン名を表示するには、
ps -eo zone,uid,pid,ppid,time,comm,...
を使用します。
/usr/ucb/ps コマンドでは、次のオプションが使用されます (ps(1B) を参照)。これらは /usr/bin/ps でサポートされており、後者が UCB の動作をエミュレートすることを可能にします。UCB オプションでは、ハイフンは使用しません。これらのオプションを、前述のオプションと混在させることはできません。
出力を実行中および実行可能なプロセスに制限します。
このプロセスおよび取得されるすべての子プロセスで使用される CPU 時間の累計を表示します。
仮想メモリーを含む出力のバージョンを表示します。これには、次で説明する SIZE、%CPU、%MEM、および RSS フィールドが含まれます。
80 カラムではなく 132 カラムのワイド出力形式を使用します。-ww とオプション文字が繰り返される場合、任意幅の出力が使用されます。この情報を使用して、長いコマンドをどれだけ出力するかが決定されます。注: ワイド出力オプションを表示できるのは、スーパーユーザーまたはこのプロセスを所有するユーザーだけです。
制御端末のないプロセスが含まれます。
プロセス番号を指定できます (この場合、出力はそのプロセスに限定されます)。このオプションは、最後に指定する必要があります。
前述の多くのオプションは、対象とするプロセスをリストに選択するために使用します。これらのオプションが指定された場合、ps はデフォルトリストを無視し、オプションの選択条件の論理和により示されるプロセスを選択します。
-f オプションが指定された場合、ps は、ユーザーブロックを検索することによって、プロセスが作成されたときに指定されたコンド名および引数を特定しようとします。これができない場 合には、-f オプションを指定しない場合のコマンド名が角括弧に囲まれて出力されます。
ps の実行結果として表示されるリストのカラムの見出しおよびカラムの意味を説明します。文字 f および l は、それに相当する見出しを作成するオプション (それぞれ完全形式または長い形式) を示します。all は、見出しを常に出力することを意味します。注: これら 2 つのオプションは、プロセスのどの情報が表示されるかを決定するだけで、どのプロセスが表示されるかということは決定しません。
プロセスに関連するフラグ (16 進数表現の論理和) 。これらのフラグは過去においては意味を持っていたが、現在では何の意味も持たない
プロセスの状態
プロセスは、プロセッサ上で実行中
休止状態。 プロセスは、イベントが完了するのを待っている
実行可能状態。 プロセスは、実行待ち行列上にある
ジョブ制御シグナルにより、もしくはトレース状態にあるため、プロセスは停止されている
待機状態。プロセスは、CPU 使用率が CPU キャップの強制された制限値まで下がるのを待っている。
ゾンビ状態。 プロセスは終了していて、親プロセスは待っていない
プロセスの実効ユーザー ID (-f オプションではログイン名が出力)
プロセスのプロセス ID (このデータはプロセスを停止させるために必要)
親プロセスのプロセス ID
スケジューリングのためのプロセッサ利用率 (旧仕様) -c オプションを使用した場合は、出力されない
スケジューリングクラス。-c オプションを使用した場合にのみ、出力される
プロセスの優先順位。-c オプションを指定しないと、数が大きいほど優先順位が低くなる。-c オプションを指定すると、数が大きいほど優先順位が高いことを意味する
優先順位の計算に使用される nice 値。-c オプションを使用した場合は、出力されない特定のスケージューリングクラスのプロセスのみが、nice 値を持つ
プロセスのメモリーアドレス。すべての特権で実行中以外は 0 です。
割り当てられたすべてのファイルとデバイスを含む、仮想メモリー内のプロセスの合計サイズ (ページ単位)。pagesize(1) を参照
プロセスが休止状態のイベントのアドレス。すべての特権で実行される場合にのみ表示されます。それ以外の場合は 0 です。プロセスが休止中であるかどうかを確認するには、S 列をチェックします。
時間、分、秒で示されるプロセスの開始時間 (ps が実行される 24 時間以上前に開始したプロセスは、月および日で示される)
プロセスを制御している端末 (制御端末がない場合は、メッセージ ? が出力される)
プロセスの累積実行時間。
報告される lwp の実行時間。
コマンド名 (-f オプションでは、完全なコマンド名と引数を最大 80 文字まで出力)
-j オプションを指定すると、次の 2 つのカラムも出力されます。
プロセスグループリーダーのプロセス ID
セッションリーダーのプロセス ID
-L オプションを指定すると、次の 2 つのカラムも出力されます。
情報が出力されている lwp の lwp ID
プロセス中の lwp 数 (-f も指定した場合)
-L オプションを指定すると、プロセス中の各 lwp が 1 行に 1 つずつ出力され、プロセスではなく lwp に対する時間のフィールド STIME と LTIME を示します。従来のシングルスレッドプロセスは 1 つの lwp だけを含みます。
すでに終了し、親プロセスを持ち、ただし、その親プロセスが待ち状態になっていないプロセスは、<defunct> と符号で示されます。
-o オプションを使用すると、出力書式をユーザーが指定することができます。
出力書式は、空白またはコンマで区切った引数のリストで指定します。各変数にはデフォルトのヘッダーがあります。等号と新しいヘッダーのテキストを追加することによって、デフォルトのヘッダーを上書きできます。引数の残りの文字は、ヘッダーテキストとして使用されます。コマンド行で指定した順番でフィールドが書き込まれ、カラムとして出力されます。フィールド幅は、少なくともヘッダーを表示できる幅 (デフォルト値または指定値) がシステムによって選択されます。-o user=, のようにヘッダーテキストが NULL である場合、フィールド幅は少なくともデフォルトのヘッダーテキストを表示できる幅になります。すべてのヘッダーテキストが NULL である場合、ヘッダー行が出力されません。
POSIX ロケールでは、次の名前が認識されます。
プロセスの実効ユーザー ID。テキストのユーザー ID を取得でき、フィールド幅が足りる場合は、テキストのユーザー ID になります。そうでない場合は、10 進数の ID になります。
プロセスの実ユーザー ID。テキストのユーザー ID を取得でき、フィールド幅が足りる場合は、テキストのユーザー ID になります。そうでない場合は、10 進数の ID になります。
プロセスの実効グループ ID。テキストのグループ ID を取得でき、フィールド幅が足りる場合は、テキストのグループ ID になります。そうでない場合は、10 進数の ID になります。
プロセスの実グループ ID。テキストのグループ ID を取得でき、フィールド幅が足りる場合は、テキストのグループ ID になります。そうでない場合は、10 進数の ID になります。
プロセス ID の 10 進数値。
親プロセス ID の 10 進数値。
プロセスグループ ID の 10 進値。
最近のある期間において、使用できる CPU 時間に対して実際に使用された CPU 時間の割合 (単位: %)。ここでいう「最近」は、不特定の期間です。使用できる CPU 時間は不特定な方法で決まります。
仮想メモリー中のプロセスの合計サイズ (単位: キロバイト)。
プロセスの、システムスケジューリング優先順位を表す 10 進数値。nice(1) を参照してください。
POSIX ロケールにおける、プロセスが開始されてからの経過時間。書式は次のとおりです。
[[dd-]hh:]mm:ss
各情報の意味は次のとおりです。
日
時間
分
秒
dd フィールドの値は 10 進の整数です。hh、mm、ss フィールドは、ゼロによって左揃えされた 2 桁の 10 進整数です。
POSIX ロケールにおける、プロセスの累積 CPU 時間。書式は次のとおりです。
[dd-]hh:mm:ss
dd、hh, mm、ss フィールドは、etime と同様です。etime の説明を参照してください。
プロセスの制御端末の名前。書式は who(1) コマンドによって使用されるものと同じです。
実行されているコマンドの、文字列としての名前 (argv[0] の値)。
文字列としての、コマンドとそのすべての引数。実装によってフィールド幅までに切り捨てられることがあります。これは実装に依存します。この文字列が、コマンドが起動されたときにコマンドに渡された引数であるか、またはアプリケーションによって変更された引数であるかは、不特定です。アプリケーションは、引数リストを変更できて、その変更を ps の出力に反映することに依存しません。Solaris 実装では、この文字列は 80 文字以内に限定され、コマンドが起動されたときにコマンドに渡された引数となります。
Solaris 実装では、次の名前が認識されます。
プロセスに関連するフラグ (16 進数表現の論理和) 。
プロセスの状態。
スケジューリングのためのプロセッサ利用率 (旧仕様)
プロセスの実効ユーザー ID (10 進整数)
プロセスの実ユーザー ID (10 進整数)
プロセスの実効グループ ID (10 進整数)
プロセスの実グループ ID (10 進整数)
プロセスのプロジェクト ID (10 進整数)
プロセスのプロジェクト ID (取得できる場合はテキスト。そうでない場合は 10 進整数)
プロセスのゾーン ID 番号 (10 進整数)
プロセスのゾーン ID (取得できる場合はテキスト。そうでない場合は 10 進整数)
セッションリーダーのプロセス ID
プロセスのタスク ID
プロセスのスケジューリングクラス
プロセスの優先順位。 (数値が大きいほど優先順位が高い)
プロセスの廃止優先順位 (数値が小きいほど優先順位が高い)
lwp ID (10 進数)。1 行に 1 つの進行中の軽量プロセスが示されます。
軽量プロセスの数
プロセスまたは軽量プロセスがバインドされているプロセッサの数
プロセスまたは軽量プロセスがバインドされているプロセッサセットの ID
プロセスのメモリーアドレス
仮想メモリー中のプロセスの合計サイズ (単位: ページ)
プロセスが休止中のイベントのアドレス (- の場合、プロセスは動作中)
プロセスの開始時間または開始日。空白なしで出力されます。
プロセスの常駐の設定サイズ (単位: キロバイト)。ps が報告する rss 値は proc(4) が提供する概算です。したがって、実際の常駐の設定サイズを下回る可能性があります。容量を計画するときに、より正確な使用状況を知りたい場合は、pmap(1) -x を使用してください。
マシン上の物理メモリーに対する、プロセスの常駐の設定サイズの割合 (単位: %)
プロセスの実行可能ファイルのベース名の先頭 8 バイト
プロセスがメンバーであるプロセス契約の契約 ID (10 進整数)
プロセスのホーム lgroup。
comm および args だけに、空白文字を含めることができます。Solaris 実装の変数およびその他すべての名前には、空白文字を含めることができません。
POSIX ロケールで使用されるデフォルトヘッダーとそれに対応する書式指定子は、次のとおりです。
|
|
例 1 ps コマンドの例
次のコマンド
example% ps -o user,pid,ppid=MOM -o args
このコマンドによって、POSIX ロケールでは次の内容が出力されます。
USER PID MOM COMMAND helene 34 12 ps -o uid,pid,ppid=MOM -o args
切り捨てが発生する可能性があるため、COMMAND の内容は必ずしも前述の例と一致しません。
ps の実行に影響を与える次の環境変数についての詳細は、environ(5) を参照してください。LANG、LC_ALL、LC_CTYPE、LC_MESSAGES、LC_TIME、および NLSPATH。
画面の水平方向のサイズとして、システムが決定する値の代わりに使用する値を定義します。この値により、表示するテキストカラム数が決まります。
次の終了ステータスが返されます。
正常終了。
エラーが発生した。
端末 (tty) 名を検索するファイル
UID 情報を提供
プロセス制御ファイル
属性についての詳細は、マニュアルページの attributes(5) を参照してください。
|
kill(1), lgrpinfo(1), nice(1), pagesize(1), pmap(1), priocntl(1), who(1), ps(1B), getty(1M), proc(4), ttysrch(4), attributes(5), environ(5), resource_controls(5), standards(5), zones(5)
ps の実行中に状況が変化することがあります。ps が提供する情報は、ある瞬間だけに当てはまるものであり、ユーザーがそれを参照するときには正確ではないことがあります。すでに存在しないプロセスについてのデータなど、該当しなくなった情報が ps の出力結果に含まれていることもあります。
プロセスを選択するオプションを 1 つも指定しない場合、ps はその制御端末に関連するプロセスすべてについて報告します。制御端末がない場合には、ヘッダー以外には何も報告されません。
ps -ef および ps -o stime は、tty ログインセッションの実際の開始時間を報告せず、実際よりも少し早い時間、つまり getty が最後に tty 行に再生成された時間を報告します。
以前のリリースでは、プロセスまたはイベント (あるいはその両方) のカーネルメモリーアドレスが待機中でも ADDR および WCHAN フィールドに含まれることがありました。現在では、すべての特権で実行されるプロセスで要求されないかぎり、これらのフィールドは常に 0 になっています。mdb 内で ::ps and ::thread dcmds を使用すると、値を取得できます。
ps はログイン名 (ユーザー名) を除いて CSI 対応が可能です。