PS
Section: User Commands (1)
索引
jman
BSD mandoc
索引
名称
ps
- プロセスの状態の表示
索引
書式
[-aCcefHhjlmrSTuvwXxZ
]
[-O fmt | -o fmt
]
[-G gid [, gid ...
]
]
[-M core
]
[-N system
]
[-p pid [, pid ...
]
]
[-t tty [, tty ...
]
]
[-U user [, user ...
]
]
[-L
]
索引
解説
ユーティリティは、ユーザのプロセスのうち制御端末を持つもの
すべての情報を、
ヘッダ行に続いて表示します。
-a , G , p , T , t , U
オプションの任意の組み合わせを使用することで、
表示するプロセスの集合を選択することができます。
これらのうち、複数のオプションが与えられると、
は、与えられたオプションの少なくとも 1 つにマッチしたプロセスを
すべて選択します。
表示対象として選択されたプロセスに対し、
は、通常 1 プロセス当たり 1 行で表示します。
-H
オプションにより、プロセスによっては、
複数行 (1 スレッド当たり 1 行) 表示することがあります。
デフォルトでは、すべての出力行は、最初に制御端末順、
その中でプロセス ID 順に整列されます。
この整列順は、
-m , r , u , v
オプションで変更します。
複数の整列オプションが与えられた場合、
最後に指定した整列オプションに従い選択されたプロセスを整列します。
表示対象として選択されたプロセスに対し、
キーワードの組に基づき表示する情報を選択します
( -L , O , o
オプションを参照)。
デフォルトの出力形式には、プロセスごとに、プロセス ID、制御端末、
CPU 時間 (ユーザ時間とシステム時間の両方)、プロセス状態、
プロセスに関連するコマンドが含まれます。
を実行するときには、プロセスファイルシステム
( procfs(5)
参照) をマウントしておく必要があります。
そうでない場合、必ずしもすべての情報が利用可能になるわけではありません。
オプションを以下に示します。
- -a
-
自分のプロセスに加え自分以外のユーザのプロセスの情報も同様に表示します。
-x
オプションを指定しない限り、制御端末を持たないプロセスは
すべてスキップされます。
この機能は、
security.bsd.see_other_uids
sysctl を 0 に設定することで無効化できます。
- -c
-
``コマンド''
桁の出力を、コマンド行すべてを表示するのではなく、
実行形式の名前だけを表示するように変更します。
- -C
-
CPU パーセンテージの計算方法を、
``常駐''
時間を無視する
``生''
CPU 時間を使う方法に変更します (通常これは効果がありません)。
- -e
-
環境 (変数) も同時に表示します。
- -f
-
スワップアウトされたプロセスに関して、
コマンド行と環境の情報を表示します。
ユーザの UID が 0 である場合のみ、このオプションが有効になります。
- -G
-
指定されたグループ ID を持つ、走行中のプロセスについての情報を表示します。
- -H
-
各プロセスに関連する、
カーネルから見える
スレッドのすべてを表示します。
使用中のスレッドパッケージに依存し、プロセスのみの表示か、
カーネルスケジュールエンティティのみの表示か、
全プロセススレッドの表示のいずれかになります。
- -h
-
ページごとに 1 つヘッダが入るように、必要なだけの情報ヘッダを繰り返し
表示します。
- -j
-
次のキーワードに関する情報を表示します。
user , pid , ppid , pgid , sid , jobc , state , tt , time , command
- -L
-
-O , o
オプションに対し利用可能ななキーワードの一覧を表示します。
- -l
-
次のキーワードに関する情報を表示します。
uid , pid , ppid , cpu , pri , nice , vsz , rss , mwchan , state
tt , time , command
- -M
-
名前リストの値を取り出すとき、現在実行中のシステムからでなく、
指定したコアから取り出します。
- -m
-
制御端末順とプロセス ID 順の組み合わせでなく、
メモリ使用量順に整列します。
- -N
-
指定されたシステムから名前リストを取り出します。
デフォルトは、システムの起動で使用したカーネルイメージから
取り出します。
- -O
-
デフォルトで表示される情報に加え、
指定されたキーワードに関する情報を、
プロセス ID の後に挿入する形式で表示します。
キーワードは、空白またはコンマで区切って指定可能です。
各キーワードの後ろには、等号
(`='
)
と文字列を追加しても構いません。
この場合、標準のヘッダの代わりに指定された文字列が表示されます。
- -o
-
指定されたキーワードに関する情報を、表示します。
キーワードは、空白またはコンマで区切って指定可能です。
また、複数の
-o
オプションを使用することでも、複数のキーワードを指定可能です。
各キーワードの後ろには、等号
(`='
)
と文字列を追加しても構いません。
この場合、標準のヘッダの代わりに指定された文字列が表示されます。
- -p
-
指定したプロセス ID に一致するプロセスに関する情報を表示します。
- -r
-
制御端末とプロセス ID 順ではなく、現在の CPU 利用率順に整列します。
- -S
-
プロセス時間を計算するのに、
終了した子プロセスの時間を親プロセスに合計するように変更します。
- -T
-
標準入力のデバイスに取り付けられたプロセスの情報を表示します。
- -t
-
指定された端末デバイスに取り付けられたプロセスの情報を表示します。
- -U
-
指定されたユーザ名 (複数指定可) に属するプロセスを表示します。
- -u
-
次のキーワードに関する情報を表示します:
user , pid , %cpu , %mem , vsz , rss , tt , state , start , time , command
-u
オプションを指定すると
-r
オプションも暗に指定したことになります。
- -v
-
次のキーワードに関する情報を表示します:
pid , state , time , sl , re , pagein , vsz , rss , lim , tsiz
%cpu , %mem , command
-v
オプションを指定すると
-m
オプションも暗に指定したことになります。
- -w
-
デフォルトの現行ウィンドウ幅ではなく、132 桁幅で表示します。
二度以上
-w
オプションを指定すると、
はウィンドウ幅にかかわらず、必要なだけの幅を使用します。
- -X
-
他のオプションにより一致したプロセスを表示する際に、
制御端末を持たないプロセスは表示しません。
- -x
-
他のオプションにより一致したプロセスを表示する際に、
制御端末を持たないプロセスも含めて表示します。
これは
-X
オプションの逆です。
-X
と
-x
との両方が同じコマンドに指定された場合、
は最後に指定されたものを使用します。
- -Z
-
が情報を表示するキーワードリストに、
mac(4)
ラベルを追加します。
有効なキーワードの全リストを以下に示します。
いくつかのキーワードに関してはさらに詳しく述べます。
- %cpu
-
プロセスの CPU 利用率です。実時間で最近 1 分間の減衰平均です。
計算の基点となる時間は変化するので
(プロセスはまだ生れたばかりかもしれないので)、
%cpu
フィールド全部の合計は 100% を越える可能性もあります。
- %mem
-
プロセスで使われている実メモリのパーセンテージです。
- flags
-
インクルードファイル
In sys/proc.h
でプロセスに定義されたフラグです。
- P_ADVLOCK Ta 0x00001 プロセスは POSIX アドバイザリロックを保持している
-
- P_CONTROLT Ta 0x00002制御端末を持っている
-
- P_KTHREAD Ta 0x00004カーネルスレッド
-
- P_NOLOAD Ta 0x00008ロードアベレージ計算中は無視
-
- P_PPWAIT Ta 0x00010親プロセスが、子プロセスが exec/exit するのを待っている
-
- P_PROFIL Ta 0x00020プロファイル付きで実行された
-
- P_STOPPROF Ta 0x00040プロファイル停止要求中のスレッドあり
-
- P_SUGID Ta 0x00100最後の実行以来、id 特権が設定されている
-
- P_SYSTEM Ta 0x00200システムプロセス: シグナルや stat やスワップが無い
-
- P_SINGLE_EXIT Ta 0x00400サスペンド中のスレッドは待たずに exit すべき
-
- P_TRACED Ta 0x00800デバッグプロセスはトレースされている
-
- P_WAITED Ta 0x01000自分を待っているものが存在する
-
- P_WEXIT Ta 0x02000終了動作中
-
- P_EXEC Ta 0x04000プロセスは exec で呼ばれた
-
- P_SA Ta 0x08000scheduler activation を使用中
-
- P_CONTINUED Ta 0x10000プロセスが停止中の状態から実行再開した
-
- P_STOPPED_SIG Ta 0x20000SIGSTOP/SIGTSTP により停止した
-
- P_STOPPED_TRACE Ta 0x40000トレースにより停止した
-
- P_STOPPED_SINGLE Ta 0x80000単一スレッドのみ実行継続可能
-
- P_PROTECTED Ta 0x100000メモリの過剰コミットでもプロセスを kill しない
-
- P_SIGEVENT Ta 0x200000未処理のシグナル変化を持つプロセス
-
- P_JAILED Ta 0x1000000プロセスは jail に存在する
-
- P_INEXEC Ta 0x4000000プロセスは execve() 状態にある
-
- label
-
プロセスの MAC ラベルです。
- lim
-
setrlimit(2)
の呼び出しで指定される、メモリ使用量のソフトリミットです。
- lstart
-
コマンドの実行が始まった正確な時刻を、
strftime(3)
で規定された
`%c'
フォーマットで表示します。
- lockname
-
プロセスが現在ブロックされているロックの名前です。
名前が不正または未知の場合、
``???''
が表示されます。
- mwchan
-
プロセスが通常のブロック状態ではイベント名であり、
プロセスがロックでブロックされている場合にはロックの名前です。
詳細は、キーワード wchan と lockname を参照してください。
- nice
-
プロセススケジューリングにおける増加値です
( setpriority(2)
参照)。
- rss
-
プロセスの実メモリ (常駐分) の大きさ (1024バイト単位) です。
- start
-
コマンドが開始された時間です。
コマンドが開始されたのが 24 時間以内なら、
開始時刻は
strftime(3)
で記述された
``%l:ps.1p
''
フォーマットで表示されます。
コマンドが開始されたのが 7 日以内なら、
開始時刻は
``%a6.15p
''
フォーマットで表示されます。
さもなくば、開始時刻は
``%e%b%y
''
フォーマットで表示されます。
- state
-
プロセスの状態を文字の列で表示します。
例えば、
``RWNA
''
の最初の文字は、プロセスが runnable 状態であることを示しています。
- D
-
プロセスはディスク (あるいは他の割り込み不可能な短期間の) 待ち状態です。
- I
-
プロセスは idle 状態 (20 秒以上 sleep している) です。
- L
-
プロセスはロック獲得を待っている状態です。
- R
-
プロセスは runnable 状態です。
- S
-
プロセスは 20 秒未満の sleep 状態です。
- T
-
プロセスは stop している状態です。
- W
-
スレッドは割り込みアイドル状態です。
- Z
-
プロセスは死んでいる状態
( ``ゾンビ''
です。
さらにこの後に文字があれば、さらなる状態情報を示します。
- +
-
プロセスはその制御端末のフォアグラウンドプロセスグループに属しています。
- <
-
プロセスは CPU のスケジュール優先度が上げられています。
- E
-
プロセスは終了しようとしています。
- J
-
プロセスは
jail(2)
中のものです。
牢獄のホスト名は
/proc/ Ao pid Ac /status
に記述されています。
- L
-
プロセスは実メモリ中にロックされたページ
(例えば、raw
I/O
用) を持っています。
- N
-
プロセスは CPU スケジューリング優先度
( setpriority(2)
参照) が下げられています。
- s
-
プロセスはセッションリーダです。
- V
-
プロセスは
vfork(2)
の間、一時中断されています。
- W
-
プロセスはスワップアウトされています。
- X
-
プロセスはトレースされているか、デバッグされています。
- tt
-
もしあれば、制御端末のパス名の省略形です。
省略形は
/dev/tty
に続く 3 文字か、コンソール場合の
``con
''
です。
もはやプロセスがその制御端末に到達できない (即ち、revoke された)
場合、うしろに
`-'
が付きます。
- wchan
-
プロセスが待っているイベント (システム内のアドレス)。
数字で表示される時には、アドレスの最初の部分は削られて
その結果が 16 進で表示されます。例えば 0x80324000 では 324000 と表示されます。
キーワード command には、
すでに終了しているのに親がまだ wait してくれていない
プロセス(即ちゾンビ)は
``<defunct>
''
と表示されます。
終了しようとしてブロックされているプロセスは
``<exiting>
''
と表示されます。
コマンド引数の列の場所を特定できない場合 (通常、設定されていないため、
システムプロセスであるため、カーネルスレッドであるため)、
コマンド名は、角括弧で囲まれて表示されます。
ユーティリティは、メモリやスワップ領域を検査して、
プロセスが生成されたときのファイル名や引数を推測します。
この方法は、本質的に少々信頼できるものではなく、
プロセスはとにかくこの情報を破壊することができます。
だから、表示されるコマンド名や引数をあまり信用しすぎてはなりません。
一方、キーワード ucomm (アカウンティング名) は信用できます。
索引
キーワード
以下は有効なキーワードとその意味の全リストです。
そのうちいくつかは別名があります。
- %cpu
-
CPU 使用率 (別名
pcpu
- %mem
-
メモリ使用率 (別名
pmem
- acflag
-
アカウンティングフラグ (別名
acflg
- args
-
コマンド名と引数
- comm
-
コマンド名
- command
-
コマンド名と引数
- cpu
-
短期間 CPU 使用係数 (スケジューリング用)
- etime
-
累積実行時間
- flags
-
16 進数のプロセスフラグ (別名
f
- inblk
-
総ブロック読み出し数 (別名
inblock
- jobc
-
ジョブコントロール数
- ktrace
-
トレース中フラグ
- label
-
MAC ラベル
- lim
-
メモリ利用のリミット
- logname
-
プロセスを開始したユーザのログイン名
- lstart
-
開始時刻
- majflt
-
総ページフォールト数
- minflt
-
総ページ再生数
- msgrcv
-
総メッセージ受信数 (パイプ/ソケットからの読み込み)
- msgsnd
-
総メッセージ送信数 (パイプ/ソケットへの書き込み)
- lockname
-
現在ブロックされているロック (シンボル名)
- mwchan
-
現在ブロックされているチャネルまたはロック
- nice
-
nice 値 (別名
ni
- nivcsw
-
総強制的コンテキストスイッチ数
- nsigs
-
総シグナル受け入れ数 (別名
nsignals
- nswap
-
総スワップイン/スワップアウト数
- nvcsw
-
総自発的コンテキストスイッチ数
- nwchan
-
wait チャネル (アドレスで表示)
- oublk
-
総ブロック書き込み数 (別名
oublock
- paddr
-
スワップアドレス
- pagein
-
ページイン数 (majflt と同じ)
- pgid
-
プロセスグループ番号
- pid
-
プロセス ID
- poip
-
進行中のページアウト数
- ppid
-
親プロセス ID
- pri
-
スケジューリング優先度
- re
-
実メモリ常駐時間 (秒単位; 127 = 無限)
- rgid
-
実グループ ID
- rgroup
-
グループ名 (rgid に基きます)
- rlink
-
run 行列における逆リンク (あるいは 0)
- rss
-
常駐セットサイズ
- rtprio
-
実時間優先度 (101 = 実時間プロセスではない)
- ruid
-
実ユーザ ID
- ruser
-
ユーザ名 (ruid から得られたもの)
- sid
-
セッション ID
- sig
-
遅延されたシグナル (別名
pending
- sigcatch
-
捕獲されたシグナル (別名
caught
- sigignore
-
無視されたシグナル (別名
ignored
- sigmask
-
ブロックされたシグナル (別名
blocked
- sl
-
sleep 時間 (秒単位; 127 = 無限)
- start
-
開始時刻
- state
-
記号でのプロセス状態 (別名
stat
- svgid
-
setgid プログラムでの saved gid
- svuid
-
setuid プログラムでの saved uid
- tdev
-
制御端末のデバイス番号
- time
-
ユーザ + システムの合計 cpu 時間 (別名
cputime
- tpgid
-
制御端末プロセスグループ ID
- tsid
-
制御端末のセッション ID
- tsiz
-
テキストサイズ (K バイト単位)
- tt
-
制御端末名 (2 文字の省略形)
- tty
-
制御端末の完全な名前
- uprocp
-
プロセスポインタ
- ucomm
-
アカウンティングで使われるコマンド名
- uid
-
実効ユーザ ID
- upr
-
システムコールから帰る時のスケジューリング優先度 (別名
usrpri
- user
-
ユーザ名 (UID から得たもの)
- vsz
-
キロバイト単位の仮想記憶サイズ (別名
vsize
- wchan
-
wait チャネル (シンボル名で表示)
- xstat
-
終了ステータスまたは stop ステータス
(stop プロセスかゾンビプロセスの時のみに有効)
索引
環境変数
次の環境変数が
の実行に影響します:
- COLUMNS
-
設定されている場合、ユーザの好みの出力幅をコラム数で指定します。
デフォルトでは、
は自動的に端末幅を取得しようとします。
索引
関連ファイル
- /boot/kernel/kernel
-
デフォルトのシステム名前リスト
- /proc
-
procfs(5)
のマウントポイント
索引
関連項目
kill(1),
pgrep(1),
pkill(1),
w(1),
kvm(3),
strftime(3),
mac(4),
procfs(5),
pstat(8),
sysctl(8),
mutex(9)
索引
規格
歴史的経緯により、
Fx における
ユーティリティは、
St -p1003.2
が規定するオプションで、非
BSD オペレーティングシステムがサポートしているオプション
と異なるものをサポートしています。
索引
歴史
コマンドは
AT&T System
v4
に登場しました。
索引
バグ
はシステムより速く実行できず、
他のプロセスと同様にスケジュールされて実行されるので、
表示される情報は正確ではあり得ません。
ユーティリティは、マルチバイト文字を含む引数リストを正しく表示しません。
索引
Index
- 名称
-
- 書式
-
- 解説
-
- キーワード
-
- 環境変数
-
- 関連ファイル
-
- 関連項目
-
- 規格
-
- 歴史
-
- バグ
-
Time: 07:06:16 GMT, January 12, 2009