ps - 現在のプロセスのスナップショットを表示します。
概要
ps [オプション]
説明
ps は、選択されたアクティブなプロセスに関する情報を表示します。継続的に選択されたプロセスと表示情報を更新する場合は、代わりに top を使用してください。
このバージョンの ps は、いくつかの種類のオプションを受け入れます。
1 UNIX オプション。これらはグループ化でき、ダッシュで始まる必要があります。
2 BSD オプション。これらはグループ化でき、ダッシュを使用することはできません。
3 GNU 長オプション。これらは 2 つのダッシュで始まります。
異なる種類のオプションは自由に組み合わせることができますが、競合が発生する可能性があります。多数の標準と ps 実装との互換性のために、機能的に同じオプションがいくつか存在します。
デフォルトでは、ps は現在のユーザーと同じ有効ユーザー ID (euid=EUID) を持ち、呼び出し元と同じ端末に関連付けられているすべてのプロセスを選択します。プロセス ID (pid=PID)、プロセスに関連付けられている端末 (tname=TTY)、累積 CPU 時間 ([DD-]hh:mm:ss 形式、time=TIME)、および実行可能ファイル名 (ucmd=CMD) を表示します。デフォルトでは、出力はソートされません。
BSD スタイルのオプションを使用すると、プロセス状態 (stat=STAT) がデフォルトの表示に追加され、実行可能ファイル名の代わりにコマンド引数 (args=COMMAND) が表示されます。PS_FORMAT 環境変数を使用してこれをオーバーライドできます。BSD スタイルのオプションを使用すると、プロセス選択も変更され、他の端末 (TTY) 上のプロセス(ユーザーが所有するプロセス)が含まれるようになります。あるいは、これは、他のユーザーが所有するプロセスや端末上にないプロセスを除外するようにプロセスセットがフィルタリングされると表現することもできます。これらの効果は、オプションが「同じ」と記述されている場合に考慮されません。したがって、-M は Z と同じであると見なされます。
明示的に記述されている場合を除き、プロセス選択オプションは加算されます。デフォルトの選択は破棄され、次に、表示するプロセスのセットに選択されたプロセスが追加されます。したがって、プロセスは与えられた選択基準のいずれかを満たす場合に表示されます。
例
標準構文を使用してシステム上のすべてのプロセスを表示するには: ps -e ps -ef ps -eF ps -ely
BSD 構文を使用してシステム上のすべてのプロセスを表示するには: ps ax ps axu
プロセスのツリーを表示するには: ps -ejH ps axjf
スレッドに関する情報を取得するには: ps -eLf ps axms
セキュリティ情報を取得するには: ps -eo euser,ruser,suser,fuser,f,comm,label ps axZ ps -eM
ユーザー形式で、root (実 ID と有効 ID の両方) として実行されているすべてのプロセスを表示するには: ps -U root -u root u
ユーザー定義の形式で、すべてのプロセスを表示するには: ps -eo pid,tid,class,rtprio,ni,pri,psr,pcpu,stat,wchan:14,comm ps axo stat,euid,ruid,tty,tpgid,sess,pgrp,ppid,pid,pcpu,comm ps -Ao pid,tt,user,fname,tmout,f,wchan
syslogd のプロセス ID のみを出力します。
ps -C syslogd -o pid=
PID 42 のプロセス名のみを出力します。
ps -q 42 -o comm=
シンプルなプロセス選択
a BSD スタイルの「自分自身のみ」の制限を解除します。この制限は、BSD スタイルのオプション(- を付けない)を使用する場合、または ps のパーソナリティ設定が BSD スタイルである場合に、すべてのプロセスのセットに適用されます。このオプションで選択されるプロセスのセットは、他の方法で選択されたプロセスのセットに追加されます。別の説明としては、このオプションは、端末(tty)を持つすべてのプロセスをリストするか、x オプションと組み合わせて使用すると、すべてのプロセスをリストします。
-A すべてのプロセスを選択します。-e と同じです。
-a セッションリーダー(getsid(2) を参照)と端末に関連付けられていないプロセスを除いて、すべてのプロセスを選択します。
-d セッションリーダーを除いて、すべてのプロセスを選択します。
--deselect
指定された条件を満たすプロセスを除いて、すべてのプロセスを選択します(選択を否定します)。-N と同じです。
-e すべてのプロセスを選択します。-A と同じです。
g 実際にはすべてのプロセス(セッションリーダーを含む)を選択します。このフラグは廃止され、将来のリリースで削除される可能性があります。通常は a フラグで暗黙的に指定され、sunos4 パーソナリティで動作する場合にのみ役立ちます。
-N 指定された条件を満たすプロセスを除いて、すべてのプロセスを選択します(選択を否定します)。--deselect と同じです。
T この端末に関連付けられているすべてのプロセスを選択します。引数なしの t オプションと同じです。
r 実行中のプロセスのみを選択するように制限します。
x BSD スタイルの「tty が必要」という制限を解除します。この制限は、BSD スタイルのオプション(- を付けない)を使用する場合、または ps のパーソナリティ設定が BSD スタイルである場合に、すべてのプロセスのセットに適用されます。このオプションで選択されるプロセスのセットは、他の方法で選択されたプロセスのセットに追加されます。別の説明としては、このオプションは、あなた(ps と同じ EUID)が所有するすべてのプロセスをリストするか、a オプションと組み合わせて使用すると、すべてのプロセスをリストします。
プロセスリストによるプロセス選択
これらのオプションは、空白で区切られたリストまたはカンマで区切られたリストの形式で単一の引数を受け取ります。これらは複数回使用できます。例:ps -p "1 2" -p 3,4
123 --pid 123 と同じです。
+123 --sid 123 と同じです。
-123 プロセスグループ ID(PGID)で選択します。
-C cmdlist
コマンド名で選択します。このオプションは、cmdlist に指定された実行可能ファイル名のプロセスを選択します。注:コマンド名は、コマンドラインと同じではありません。procps の以前のバージョンとカーネルは、このコマンド名を 15 文字に切り捨てていました。この制限は、現在はどちらにも存在しません。以前は 15 文字のみを照合していた場合、現在では照合されない場合があります。
-G grplist
実グループ ID(RGID)または名前で選択します。このオプションは、grplist リストにある実グループ名または ID を持つプロセスを選択します。実グループ ID は、プロセスを作成したユーザーのグループを識別します。getgid(2) を参照してください。
-g grplist
セッションごとまたは有効グループ名で選択します。セッションごとの選択は多くの標準で指定されていますが、有効グループごとの選択は、他のいくつかのオペレーティングシステムで使用されている論理的な動作です。このpsは、リストが完全に数値(セッションがそうであるように)の場合に、セッションごとに選択します。グループID番号は、一部のグループ名も指定されている場合にのみ機能します。-sおよび--groupオプションを参照してください。
--Group grplist
実際のグループID(RGID)または名前で選択します。-Gと同じです。
--group grplist
有効グループID(EGID)または名前で選択します。これは、有効グループ名またはIDがgrplistに含まれるプロセスを選択します。有効グループIDは、プロセスのファイルアクセス許可で使用されるグループを記述します(getegid(2)を参照)。-gオプションは、多くの場合、--groupの代替として使用されます。
p pidlist
プロセスIDで選択します。-pおよび--pidと同じです。
-p pidlist
PIDで選択します。このオプションは、pidlistに含まれるプロセスID番号を持つプロセスを選択します。pおよび--pidと同じです。
--pid pidlist
プロセスIDで選択します。-pおよびpと同じです。
--ppid pidlist
親プロセスIDで選択します。これは、pidlistに含まれる親プロセスIDを持つプロセスを選択します。つまり、リストに示されているプロセスの子であるプロセスを選択します。
q pidlist
プロセスIDで選択します(高速モード)。-qおよび--quick-pidと同じです。
-q pidlist
PIDで選択します(高速モード)。このオプションは、pidlistにリストされているpidに必要な情報のみを読み取り、追加のフィルタリングルールを適用しません。pidの順序はソートされておらず、保持されます。このモードでは、追加の選択オプション、ソート、およびフォレストタイプのリストは許可されていません。qおよび--quick-pidと同じです。
--quick-pid pidlist
プロセスIDで選択します(高速モード)。-qおよびqと同じです。
-s sesslist
セッションIDで選択します。このオプションは、sesslistで指定されたセッションIDを持つプロセスを選択します。
--sid sesslist
セッションIDで選択します。-sと同じです。
t ttylist
ttyで選択します。-tおよび--ttyとほぼ同じですが、空のttylistで使用して、psに関連付けられているターミナルを示すこともできます。Tオプションを使用する方が、空のttylistを持つtを使用するよりもクリーンであると見なされます。
-t ttylist
ttyで選択します。このオプションは、ttylistで指定されたターミナルに関連付けられているプロセスを選択します。ターミナル(tty、またはテキスト出力用の画面)は、/dev/ttyS1、ttyS1、S1など、いくつかの形式で指定できます。プレーンな「-」を使用して、ターミナルに接続されていないプロセスを選択できます。
--tty ttylist
ターミナルで選択します。-tおよびtと同じです。
U userlist
有効ユーザーID(EUID)または名前で選択します。このオプションは、有効ユーザー名またはIDがuserlistに含まれるプロセスを選択します。有効ユーザーIDは、プロセスのファイルアクセス許可で使用されるユーザーを記述します(geteuid(2)を参照)。-uおよび--userと同じです。
-U userlist
実ユーザーID (RUID) または名前で選択します。実ユーザー名またはIDがuserlistリストに含まれるプロセスを選択します。実ユーザーIDは、プロセスを作成したユーザーを識別します(getuid(2)を参照)。
-u userlist
有効ユーザーID (EUID) または名前で選択します。有効ユーザー名またはIDがuserlistに含まれるプロセスを選択します。
有効ユーザーIDは、プロセスが使用するファイルアクセスの権限が与えられているユーザーを記述します(geteuid(2)を参照)。-Uおよび--userと同じです。
--User userlist
実ユーザーID (RUID) または名前で選択します。-Uと同じです。
--user userlist
有効ユーザーID (EUID) または名前で選択します。-uおよびUと同じです。
出力形式の制御
これらのオプションは、psによって表示される情報を選択するために使用されます。出力は、環境によって異なる場合があります。
-c
-lオプションの異なるスケジューラ情報を表示します。
--context
セキュリティコンテキスト形式を表示します(SELinux用)。
-f
完全形式のリストを表示します。このオプションは、他の多くのUNIXスタイルのオプションと組み合わせて、追加の列を追加できます。また、コマンド引数も出力されます。-Lと組み合わせて使用すると、NLWP(スレッド数)とLWP(スレッドID)の列が追加されます。cオプション、formatキーワードargs、およびformatキーワードcommを参照してください。
-F
追加の完全形式。-fオプションと同じです。-Fは-fを意味します。
--format format
ユーザー定義形式。-oおよびoと同じです。
j
BSDジョブ制御形式。
-j
ジョブ形式。
l
BSD長形式を表示します。
-l
長形式。通常は-yオプションと組み合わせて使用します。
-M
セキュリティデータの列を追加します。Z(SELinux用)と同じです。
O format
-o(オーバーロード)と事前にロードされます。BSDのOオプションは、-O(いくつかの共通フィールドが事前に定義されたユーザー定義出力形式)またはソート順の指定として機能できます。このオプションの動作を決定するために、ヒューリスティクスが使用されます。目的の動作(ソートまたはフォーマット)が確実に得られるように、別の方法でオプションを指定します(例:-Oまたは--sort)。フォーマットオプションとして使用される場合、BSD環境では-Oと同じです。
-O format
-oと同様ですが、いくつかのデフォルトの列が事前にロードされています。-o pid,format,state,tname,time,commandまたは-o pid,format,tname,time,cmdと同じです。-o以下を参照してください。
o format
ユーザー定義形式を指定します。-oおよび--formatと同じです。
-o format
ユーザー定義形式。formatは、空白で区切られたリストまたはカンマで区切られたリストの形式の単一の引数であり、個々の出力列を指定する方法を提供します。認識されるキーワードは、後述のSTANDARD FORMAT SPECIFIERSセクションに記載されています。ヘッダーは、必要に応じて名前を変更できます(ps -o pid,ruser=RealUser -o comm=Command)。すべての列ヘッダーが空の場合(ps -o pid= -o comm=)、ヘッダー行は出力されません。列幅は、広いヘッダーに合わせて必要に応じて増加します。これは、WCHANなどの列を広げるために使用できます(ps -o pid,wchan=WIDE-WCHAN-COLUMN -o comm)。明示的な幅制御(ps -o pid,wchan:42,cmd)も提供されます。ps -o pid=X,comm=Yの動作は、環境によって異なります。出力は、1つの列("X,comm=Y"という名前)または2つの列("X"と"Y"という名前)のいずれかになります。疑わしい場合は、複数の-oオプションを使用します。PS_FORMAT環境変数を使用して、デフォルトを指定します。DefSysVとDefBSDは、デフォルトのUNIXまたはBSD列を選択するために使用できるマクロです。
-P psr 列を追加して表示します。
s シグナル形式で表示します。
u ユーザー向け形式で表示します。
v 仮想メモリ形式で表示します。
X レジスタ形式で表示します。
-y フラグを表示せず、アドレスの代わりに rss を表示します。このオプションは -l と共にのみ使用できます。
Z セキュリティデータ列を追加します。-M(SELinux 用)と同じです。
出力修飾子
c 実際のコマンド名を表示します。これは、引数 (argv) ではなく、実行可能ファイルの名称から導き出されます。したがって、コマンド引数やそれらの変更は表示されません。このオプションは、事実上 args 形式キーワードを comm 形式キーワードに変換します。-f オプションや、通常コマンド引数を表示するさまざまな BSD スタイルの形式オプションで使用すると便利です。-f オプション、args 形式キーワード、および comm 形式キーワードを参照してください。
--cols n
画面幅を設定します。
--columns n
画面幅を設定します。
--cumulative
一部の終了した子プロセスのデータを(親プロセスにまとめて)含めます。
-D format
lstart フィールドの表示形式を format に設定します。この形式は strftime(3) によって解析され、最大 24 文字である必要があります。そうしないと、列がずれて表示されます。
--date-format format
-D と同じです。
e コマンドの後に環境を表示します。
f ASCII アートのプロセス階層(フォレスト)。
--forest
ASCII アートのプロセスツリー。
h ヘッダーを表示しません。(または、BSD の形式では、1 ページごとにヘッダーを 1 つ表示します)。h オプションは問題があります。標準の BSD ps は、このオプションを使用して出力の各ページにヘッダーを印刷しますが、古い Linux ps はこのオプションを使用してヘッダーを完全に無効にします。このバージョンの ps は、Linux の使用方法に従い、ヘッダーを印刷しません。ただし、BSD 形式が選択されている場合は、出力の各ページにヘッダーを印刷します。現在の形式に関係なく、--headers および --no-headers という長いオプションを使用して、各ページにヘッダーを印刷するか、ヘッダーを完全に無効にするかを切り替えることができます。
-H プロセス階層(フォレスト)を表示します。
--headers
ヘッダー行を繰り返し、出力の各ページに 1 つ表示します。
k spec ソート順序を指定します。ソート構文は、[+|-]key[,[+|-]key[,...]] です。STANDARD FORMAT SPECIFIERS セクションから、複数の文字で構成されるキーを選択します。"+" はオプションであり、デフォルトの方向は、数値または辞書順の昇順です。--sort と同じです。
例:
ps jaxkuid,-ppid,+pid
ps axk comm o comm,args
ps kstart_time -ef
--lines n
画面の高さ(行数)を設定します。
n WCHAN と USER の数値出力を表示します(すべての種類の UID と GID を含む)。
--no-headers
ヘッダー行を一切表示しません。--no-heading はこのオプションのエイリアスです。
O order
ソート順(オーバーロード)。BSD の O オプションは、-O(ユーザー定義の出力形式で、いくつかの一般的なフィールドが事前に定義されている)のように動作することも、ソート順を指定するために使用することもできます。このオプションの動作を決定するために、ヒューリスティックが使用されます。目的の動作(ソートまたはフォーマット)を確実に実現するには、別の方法(例:-O または --sort)でオプションを指定します。
ソートの場合、廃止された BSD O オプションの構文は O[+|-]k1[,[+|-]k2[,...]] です。これは、1 文字の短いキー k1、k2、... のシーケンスで指定された多段階ソートに従って、プロセスのリストを並べ替えます。これらのキーは、OBSOLETE SORT KEYS セクションで説明されています。"+" は現在オプションであり、キーのデフォルトの方向を再表示するだけで、O ソートと O 形式を区別するのに役立つ場合があります。"-" は、それに続くキーでのみ方向を反転します。
--rows n
画面の高さ(行数)を設定します。
S CPU 使用量などの情報を、終了した子プロセスから親プロセスに集計します。これは、親プロセスが短い間隔で子プロセスを繰り返しフォークして作業を行うシステムを調べる場合に役立ちます。
--sort spec
ソート順を指定します。ソート構文は [+|-]key[,[+|-]key[,...]] です。STANDARD FORMAT SPECIFIERS セクションから多文字のキーを選択します。"+" はオプションであり、デフォルトの方向は増加する数値または辞書順です。これは k と同じです。例:ps jax --sort=uid,-ppid,+pid
--signames
省略されたシグナル名を使用してシグナルマスクを表示し、列を展開します。列の幅ですべてのシグナルを表示できない場合、列の末尾に "+" が付きます。"-" のみで終わる列は、シグナルがありません。
w ワイド出力。このオプションを 2 回使用すると、幅が無制限になります。
-w ワイド出力。このオプションを 2 回使用すると、幅が無制限になります。
--width n
画面の幅を設定します。
スレッドの表示
H スレッドをプロセスのように表示します。
-L スレッドを表示します。LWP および NLWP 列も表示される場合があります。
m プロセスに続いてスレッドを表示します。
-m プロセスに続いてスレッドを表示します。
-T スレッドを表示します。SPID 列も表示される場合があります。
その他の情報
--help section
ヘルプメッセージを表示します。セクション引数は、simple、list、output、threads、misc、または all のいずれかにすることができます。引数は、アンダーラインが付いた文字で短縮できます(例:s|l|o|t|m|a)。
--info デバッグ情報を表示します。
L すべてのフォーマット指定子を一覧表示します。
V procps-ng のバージョンを表示します。
-V procps-ng のバージョンを表示します。
--version
procps-ng のバージョンを表示します。
注意事項
この ps は、/proc 内の仮想ファイルを読み取ることで動作します。この ps は、kmem として setuid である必要も、特別な権限を持つ必要もありません。この ps に特別な権限を与えないでください。
CPU 使用量は、プロセスのライフサイクル全体で実行された時間の割合として現在表現されます。これは理想的ではなく、ps が従う他の標準にも準拠していません。CPU 使用量は、正確に 100% になることはありません。
SIZEおよびRSSフィールドは、プロセスの一部(ページテーブル、カーネルスタック、struct thread_info、およびstruct task_structなど)をカウントしません。通常、これは常にメモリ上に存在する少なくとも20KiBのメモリです。SIZEは、プロセスの仮想サイズ(コード+データ+スタック)です。
ユーザー名の長さがディスプレイ列の幅よりも大きい場合、ユーザー名は切り捨てられます。長さをカスタマイズするには、-oおよび-O形式オプションを参照してください。
ps -auxのようなコマンドオプションは推奨されません。これは、2つの異なる標準の混乱です。POSIXおよびUNIX標準によると、上記のコマンドは、TTYを持つすべてのプロセス(通常はユーザーが実行しているコマンド)と、ユーザー「x」が所有するすべてのプロセスを表示するように要求します。ユーザー「x」が存在しない場合、psは「ps aux」を意味するものと想定します。
プロセスフラグ
これらの値の合計は、「F」列に表示されます。これは、フラグ出力指定子によって提供されます。
1 フォークしたが、execを実行していない
4 スーパーユーザー権限を使用した
プロセス状態コード
s、stat、およびstate出力指定子(ヘッダー「STAT」または「S」)が、プロセスの状態を説明するために表示するさまざまな値は次のとおりです。
D 中断不可能なスリープ(通常はI/O)
I アイドルカーネルスレッド
R 実行中または実行可能(実行キュー上)
S 中断可能なスリープ(イベントの完了を待機)
T ジョブ制御シグナルによって停止
t トレース中にデバッガーによって停止
W ページング(2.6.xxカーネル以降は有効ではない)
X 死んでいる(決して表示されるべきではない)
Z defunct(「ゾンビ」)プロセス、終了したが親プロセスによって回収されていない
BSD形式およびstatキーワードが使用されている場合、追加の文字が表示されることがあります。
< 高優先度(他のユーザーには優しくない)
N 低優先度(他のユーザーには優しい)
L ページがメモリにロックされている(リアルタイムおよびカスタムI/O用)
s セッションリーダーである
l マルチスレッドである(CLONE_THREADを使用、NPTL pthreadsなど)
+ フォアグラウンドプロセスグループにある
廃止されたソートキー
これらのキーは、BSD Oオプション(ソートに使用される場合)で使用されます。GNU --sortオプションはこれらのキーを使用しませんが、STANDARD FORMAT SPECIFIERSセクションで説明されている指定子を使用します。ソートに使用される値は、psが使用する内部値であり、一部の出力形式フィールドで使用される「調理済」値ではありません(たとえば、ttyでソートすると、デバイス番号でソートされ、表示されるターミナル名でソートされるわけではありません)。「調理済」の値でソートする場合は、psの出力をsort(1)コマンドにパイプしてください。 KEY LONG DESCRIPTION c cmd 実行可能ファイルの単純名 C pcpu CPU使用率 f flags long形式のFフィールドのフラグ g pgrp プロセスグループID G tpgid 制御TTYのプロセスグループID j cutime 累積ユーザー時間 J cstime 累積システム時間 k utime ユーザー時間 m min_flt マイナーページフォールトの数 M maj_flt メジャーページフォールトの数 n cmin_flt 累積マイナーページフォールト N cmaj_flt 累積メジャーページフォールト o session セッションID p pid プロセスID P ppid 親プロセスID r rss レジデントセットサイズ R resident レジデントページ s size キロバイト単位のメモリサイズ S share 共有ページの量 t tty 制御TTYのデバイス番号 T start_time プロセスが開始された時刻 U uid ユーザーID番号 u user ユーザー名 v vsize 合計VMサイズ(KiB) y priority カーネルスケジューリング優先度
AIX 形式記述子
この ps は AIX 形式記述子をサポートしており、printf(1) および printf(3) の書式指定コードと似たように機能します。たとえば、通常デフォルトの出力は次のように生成できます: ps -eo "%p %y %x %c"。通常のコードは次のセクションで説明します。
コード 通常 ヘッダー
%C pcpu %CPU
%G group GROUP
%P ppid PPID
%U user USER
%a args COMMAND
%c comm COMMAND
%g rgroup RGROUP
%n nice NI
%p pid PID
%r pgid PGID
%t etime ELAPSED
%u ruser RUSER
%x time TIME
%y tty TTY
%z vsz VSZ
標準書式指定子
次のキーワードを使用して、出力形式を制御したり (例: -o オプション)、GNU スタイルの --sort オプションで選択したプロセスをソートしたりできます。
例: ps -eo pid,user,args --sort user
このバージョンの ps は、他の ps 実装で使用されているほとんどのキーワードを認識しようとします。
次のユーザー定義書式指定子には空白を含めることができます: args, cmd, comm, command, fname, ucmd, ucomm, lstart, bsdstart, start。
一部のキーワードはソートに使用できない場合があります。
コード ヘッダー 説明
%cpu %CPU プロセスの CPU 使用率を "##.#" 形式で表示します。現在、これは CPU 時間をプロセスの実行時間で割ったもの (cputime/realtime 比率) で、パーセンテージで表されます。必ずしも合計が 100% になるわけではありません (エイリアス: `pcpu`)。
%mem %MEM プロセスの常駐セットサイズの、マシンの物理メモリに対する比率をパーセンテージで表します (エイリアス: `pmem`)。
ag_id AGID プロセスに関連付けられている自動グループ識別子。CFS スケジューラと連携して、インタラクティブなデスクトップのパフォーマンスを向上させます。
ag_nice AGNI 自動グループの nice 値。これは、そのグループ内のすべてのプロセスのスケジューリングに影響します。
args COMMAND コマンドとそのすべての引数を文字列として表示します。引数の変更が表示される場合があります。この列の出力には空白が含まれることがあります。`<defunct>`とマークされたプロセスは、部分的に終了しており、親プロセスによって完全に破棄されるのを待っています。プロセス引数が利用できない場合、`ps`は代わりに括弧で囲まれた実行可能ファイル名を出力します。(エイリアス:cmd、command)。`comm`形式キーワード、`-f`オプション、および`c`オプションも参照してください。
最後に指定された場合、この列は表示領域の端まで拡張されます。`ps`が出力幅を決定できない場合(出力をファイルや別のコマンドにパイプで渡す場合など)、出力幅は未定義(80、無制限、`TERM`変数によって決定されるなど)になります。`COLUMNS`環境変数または`--cols`オプションを使用して、この場合に正確な幅を指定できます。`w`または`-w`オプションも使用して、幅を調整できます。
blocked BLOCKED ブロックされたシグナルのマスク。`signal(7)`を参照してください。フィールドの幅に応じて、32ビットまたは64ビットのマスクが16進数形式で表示されます。ただし、`--signames`オプションが使用されている場合は例外です。(エイリアス:sig_block、sigmask)。
bsdstart START コマンドが開始された時刻。プロセスが24時間以内に開始された場合、出力形式は`HH:MM`、それ以外の場合は`Mmm:SS`(`Mmm`は月の3文字)です。`lstart`、`start`、`start_time`、および`stime`も参照してください。
bsdtime TIME 累積CPU時間(ユーザー時間 + システム時間)。表示形式は通常`MMM:SS`ですが、プロセスが999分以上のCPU時間を使用した場合は、右にシフトされることがあります。
c C プロセッサの使用率。現在、これはプロセスのライフタイム全体のパーセント使用量の整数値です。(`%cpu`を参照)。
caught CAUGHT キャッチされたシグナルのマスク。`signal(7)`を参照してください。フィールドの幅に応じて、32ビットまたは64ビットのマスクが16進数形式で表示されます。ただし、`--signames`オプションが使用されている場合は例外です。(エイリアス:sig_catch、sigcatch)。
cgname CGNAME プロセスが属するコントロールグループの表示名。
cgroup CGROUP プロセスが属するコントロールグループを表示します。
cgroupns CGROUPNS プロセスが属する名前空間を記述する一意のinode番号。`namespaces(7)`を参照してください。
class CLS プロセスのスケジューリングクラス。(エイリアス:policy、cls)。フィールドの可能な値は次のとおりです。
- 報告なし
TS SCHED_OTHER
FF SCHED_FIFO
RR SCHED_RR
B SCHED_BATCH
ISO SCHED_ISO
IDL SCHED_IDLE
DLN SCHED_DEADLINE
? 不明な値
cls CLS プロセスのスケジューリングクラス。(エイリアス:policy、cls)。フィールドの可能な値は次のとおりです。
- 報告なし
TS SCHED_OTHER
FF SCHED_FIFO
RR SCHED_RR
B SCHED_BATCH
ISO SCHED_ISO
IDL SCHED_IDLE
DLN SCHED_DEADLINE
? 不明な値
cmd CMD `args`を参照。(エイリアス:args、command)。
comm COMMAND コマンド名(実行ファイル名のみ)。この列の出力には空白が含まれる場合があります。(エイリアス ucmd, ucomm)。args 形式キーワード、-f オプション、および c オプションも参照してください。
コマンド COMMAND args を参照。(エイリアス args, command)。
cp CP CPU 使用率(パーミル、パーセントの 10 分の 1)。(%cpu を参照)。
cputime TIME 累積 CPU 時間、[DD-]hh:mm:ss 形式。(エイリアス time)。
cputimes TIME 累積 CPU 時間(秒)。(エイリアス times)。
cuc %CUC 終了した子プロセスを含むプロセスの CPU 使用率、拡張された "##.###" 形式。(%cpu、c、cp、cuu、pcpu も参照)。
cuu %CUU 拡張された "##.###" 形式でのプロセスの CPU 使用率。(%cpu、c、cp、cuc、pcpu も参照)。
drs DRS データ常駐セットサイズ。プロセスが予約したプライベートメモリの量。これは DATA とも呼ばれます。このメモリはまだ RSS にマップされていない可能性がありますが、常に VSZ の量に含まれます。
egid EGID プロセスの有効グループ ID(10 進整数)。(エイリアス gid)。
egroup EGROUP プロセスの有効グループ ID。これはテキスト形式のグループ ID で、取得でき、フィールド幅に収まる場合はそのように表示され、そうでない場合は 10 進数で表示されます。(エイリアス group)。
eip EIP 命令ポインタ。カーネル 4.9.xx 以降、タスクが終了またはコアダンプされる場合を除き、0 に設定されます。
esp ESP スタックポインタ。カーネル 4.9.xx 以降、タスクが終了またはコアダンプされる場合を除き、0 に設定されます。
etime ELAPSED プロセス開始からの経過時間、[[DD-]hh:]mm:ss 形式。
etimes ELAPSED プロセス開始からの経過時間(秒)。
euid EUID 有効ユーザー ID。(エイリアス uid)。
euser EUSER 有効ユーザー名。これはテキスト形式のユーザー ID で、取得でき、フィールド幅に収まる場合はそのように表示され、そうでない場合は 10 進数で表示されます。n オプションを使用して、10 進数表現を強制できます。(エイリアス uname, user)。
exe EXE 実行ファイルのパス。パスを cmd、comm、または args 形式オプションを使用して印刷できない場合に便利です。
f F プロセスに関連付けられたフラグ。PROCESS FLAGS セクションを参照。(エイリアス flag, flags)。
fgid FGID ファイルシステムアクセスグループ ID。(エイリアス fsgid)。
fgroup FGROUP ファイルシステムアクセスグループ ID。これはテキスト形式のグループ ID で、取得でき、フィールド幅に収まる場合はそのように表示され、そうでない場合は 10 進数で表示されます。(エイリアス fsgroup)。
flag F `f` を参照してください。(エイリアス: f, flags)。
flags F `f` を参照してください。(エイリアス: f, flag)。
fname COMMAND プロセスの実行ファイルのベース名の最初の 8 バイト。出力には空白が含まれる場合があります。
fuid FUID ファイルシステムアクセスユーザー ID。(エイリアス: fsuid)。
fuser FUSER ファイルシステムアクセスユーザー ID。テキスト形式のユーザー ID を取得でき、フィールド幅に余裕がある場合は、それを表示します。それ以外の場合は、10 進数の形式で表示します。
gid GID `egid` を参照してください。(エイリアス: egid)。
group GROUP `egroup` を参照してください。(エイリアス: egroup)。
ignored IGNORED 無視されるシグナルのマスク。`signal(7)` を参照してください。フィールドの幅に応じて、32 ビットまたは 64 ビットのマスクが 16 進数で表示されます。`--signames` オプションを使用する場合は、表示形式が異なります。(エイリアス: sig_ignore, sigignore)。
ipcns IPCNS プロセスが属する名前空間を記述する一意の inode 番号。`namespaces(7)` を参照してください。
label LABEL セキュリティラベル。通常、SELinux コンテキストデータが使用されます。これは、高セキュリティシステムで一般的に使用される強制アクセス制御 (MAC) 用です。
lstart STARTED コマンドが開始された時刻。形式は「DDD mmm HH:MM:SS YYY」になります。`-D` オプションで変更できます。
lsession SESSION systemd サポートが含まれている場合、プロセスのログインセッション識別子を表示します。
luid LUID プロセスに関連付けられたログイン ID を表示します。
lwp LWP 軽量プロセス (スレッド) ID。ディスパッチ可能なエンティティの ID。(エイリアス: spid, tid)。詳細については、`tid` を参照してください。
lxc LXC タスクが実行されている lxc コンテナの名前。プロセスがコンテナ内で実行されていない場合は、ハイフン ('-') が表示されます。
machine MACHINE VM またはコンテナに割り当てられたプロセスのマシン名を表示します。systemd サポートが含まれている場合にのみ機能します。
maj_flt MAJFLT このプロセスで発生したメジャーページフォールの数。
min_flt MINFLT このプロセスで発生したマイナーページフォールの数。
mntns MNTNS プロセスが属する名前空間を記述する一意の inode 番号。`namespaces(7)` を参照してください。
netns NETNS プロセスが属する名前空間を記述する一意の inode 番号。`namespaces(7)` を参照してください。
ni NI nice 値。これは、19 (最も優しい) から -20 (他に対して優しくない) の範囲です。`[nice]({filename}../../nice)(1)` を参照してください。(エイリアス: nice)。
nice NI `ni` を参照してください。(エイリアス: ni)。
nlwp NLWP プロセスの lwps (スレッド) の数。(エイリアス: thcount)。
numa NUMA 最近使用されたプロセッサに関連付けられているノード。-1 は、NUMA 情報が利用できないことを意味します。
nwchan WCHAN プロセスがスリープしているカーネル関数のアドレス (カーネル関数の名前が必要な場合は、`wchan` を使用してください)。
oom OOM メモリ不足時のキル対象タスクを選択するために使用される、メモリ不足スコア。値の範囲は 0 から +1000 です。
oomadj OOMADJ メモリ不足調整係数。この値は現在のメモリ不足スコアに加算され、メモリが不足した場合にどのタスクを強制終了するかを決定するために使用されます。
ouid OWNER システムdのサポートが含まれている場合、プロセスのセッションの所有者のUnixユーザー識別子を表示します。
pcpu %CPU %cpuを参照。(%cpuのエイリアス)。
pending PENDING 保留中のシグナルのマスク。signal(7)を参照。プロセスに保留されているシグナルは、個々のスレッドに保留されているシグナルとは異なります。mオプションまたは-mオプションを使用すると、両方を確認できます。フィールドの幅に応じて、32ビットまたは64ビットの16進形式のマスクが表示されます。ただし、--signamesオプションを使用すると、異なる表示になります。(sigのエイリアス)。
pgid PGID プロセスグループID、または同等のプロセスグループリーダーのプロセスID。 (pgrpのエイリアス)。
pgrp PGRP pgidを参照。(pgidのエイリアス)。
pid PID プロセスIDを表す数値(tgidのエイリアス)。
pidns PIDNS プロセスが属する名前空間を記述する一意のinode番号。 namespaces(7)を参照してください。
pmem %MEM %memを参照。(%memのエイリアス)。
policy POL プロセスのスケジューリングクラス。(class、clsのエイリアス)。 可能な値は次のとおりです。
- 報告されません
TS SCHED_OTHER
FF SCHED_FIFO
RR SCHED_RR
B SCHED_BATCH
ISO SCHED_ISO
IDL SCHED_IDLE
DLN SCHED_DEADLINE
? 不明な値
ppid PPID 親プロセスID。
pri PRI プロセスの優先度。数字が大きいほど優先度が高くなります。
psr PSR プロセスが最後に実行されたプロセッサ。
pss PSS 比例共有サイズ。非スワップされた物理メモリで、共有メモリはそれをマッピングしているすべてのタスクに比例して考慮されます。
rbytes RBYTES このプロセスによって実際にストレージレイヤーからフェッチされたバイト数。
rchars RCHARS このタスクによってストレージから読み取られたバイト数。
rgid RGID 実際のグループID。
rgroup RGROUP 実際のグループ名。これは、取得可能でフィールドの幅に収まる場合はテキスト形式のグループID、それ以外の場合は10進数の表現になります。
rops ROPS 読み取りI/O操作の数。つまり、read(2)やpread(2)などのシステムコール。
rss RSS レジデントセットサイズ。タスクが使用した非スワップ物理メモリ(キロバイト単位)。(rssize、rszのエイリアス)。
rssize RSS rssを参照。(rss、rszのエイリアス)。
rsz RSZ rssを参照。(rss、rssizeのエイリアス)。
rtprio RTPRIO リアルタイム優先度。
ruid RUID 実際のユーザーID。
ruser RUSER 実際のユーザーID。これは、取得可能でフィールドの幅に収まる場合はテキスト形式のユーザーID、それ以外の場合は10進数の表現になります。
s S 最小限の状態表示(1文字)。プロセス状態コードのセクションを参照してください。追加情報が必要な場合は、statを参照してください。(stateのエイリアス)。
sched SCH プロセスのスケジューリングポリシー。SCHED_OTHER (SCHED_NORMAL)、SCHED_FIFO、SCHED_RR、SCHED_BATCH、SCHED_ISO、SCHED_IDLE、および SCHED_DEADLINE は、それぞれ 0、1、2、3、4、5、および 6 として表示されます。
seat SEAT systemd のサポートが含まれている場合、特定のワークスペースに割り当てられたすべてのハードウェアデバイスに関連付けられた識別子を表示します。
sess SESS セッション ID、または同等のセッションリーダーのプロセス ID。 (別名:session、sid)。
sgi_p P プロセスが現在実行されているプロセッサ。プロセスが現在実行中または実行可能でない場合、"*" を表示します。
sgid SGID 保存されたグループ ID。 (別名:svgid)。
sgroup SGROUP 保存されたグループ名。テキスト形式のグループ IDを取得でき、フィールドの幅に収まる場合は、テキスト形式で表示されます。それ以外の場合は、10進数で表示されます。
sid SID sess を参照してください。 (別名:sess、session)。
sig PENDING pending を参照してください。 (別名:pending、sig_pend)。
sigcatch CAUGHT caught を参照してください。 (別名:caught、sig_catch)。
sigignore IGNORED ignored を参照してください。 (別名:ignored、sig_ignore)。
sigmask BLOCKED blocked を参照してください。 (別名:blocked、sig_block)。
size SIZE プロセスがすべての書き込み可能ページをダーティにしてスワップアウトされた場合に必要となる可能性のあるスワップスペースのおおよその量。この数値は非常に大まかなものです。
slice SLICE systemd のサポートが含まれている場合、プロセスが属するスライスユニットを表示します。
spid SPID lwp を参照してください。 (別名:lwp、tid)。
stackp STACKP プロセスのスタックの底(開始)のアドレス。
start STARTED コマンドが開始された時刻。プロセスが 24 時間以内に開始された場合、出力形式は "HH:MM:SS" になり、それ以外の場合は " Mmm dd" (Mmm は 3 文字の月名) になります。また、bsdstart、start、start_time、および stime も参照してください。
start_time START プロセスの開始時刻または日付。プロセスが ps が呼び出されたのと同じ年に開始されていない場合は、年が表示され、同じ日に開始されていない場合は "MmmDD" と表示され、それ以外の場合は "HH:MM" と表示されます。また、bsdstart、start、lstart、および stime も参照してください。
stat STAT マルチ文字のプロセス状態。さまざまな値の意味については、PROCESS STATE CODES セクションを参照してください。s および state も参照してください(最初の文字のみを表示する場合)。
state S s を参照してください。 (別名:s)。
stime STIME start_time を参照してください。 (別名:start_time)。
suid SUID 保存されたユーザー ID。 (別名:svuid)。
supgid SUPGID 補助グループのグループ ID(存在する場合)。getgroups(2) を参照してください。
supgrp SUPGRP 補助グループのグループ名(存在する場合)。getgroups(2) を参照してください。
suser SUSER 保存されたユーザー名。テキスト形式のユーザー IDを取得でき、フィールドの幅に収まる場合は、テキスト形式で表示されます。それ以外の場合は、10進数で表示されます。 (別名:svuser)。
svgid SVGID sgid を参照 (エイリアス sgid)。
svuid SVUID suid を参照 (エイリアス suid)。
sz SZ プロセスのコアイメージの物理ページ数。テキスト、データ、スタック領域が含まれる。デバイスマッピングは現在のところ除外され、今後変更される可能性がある。vsz と rss を参照。
tgid TGID タスクが属するスレッドグループを表す数値 (エイリアス pid)。スレッドグループリーダーのプロセス ID である。
thcount THCNT nlwp を参照 (エイリアス nlwp)。プロセスが所有するカーネルスレッドの数。
tid TID ディスパッチ可能なエンティティを一意に表す数値 (エイリアス spid, tid)。この値は、プロセス ID (pid)、プロセスグループ ID (pgrp)、セッションリーダーのセッション ID (sid)、スレッドグループリーダーのスレッドグループ ID (tgid)、およびプロセスグループリーダーの tty プロセスグループ ID (tpgid) として表示される場合がある。
time TIME 累積 CPU 時間、"[DD-]HH:MM:SS" 形式 (エイリアス cputime)。
timens TIMENS プロセスが属する名前空間を記述する一意の inode 番号。namespaces(7) を参照。
times TIME 累積 CPU 時間 (秒) (エイリアス cputimes)。
tname TTY 制御 tty (ターミナル) (エイリアス tt, tty)。
tpgid TPGID プロセスが接続されている tty (ターミナル) のフォアグラウンドプロセスグループの ID。プロセスが tty に接続されていない場合は -1。
trs TRS テキストレジデントセットサイズ。実行可能コードに割り当てられている物理メモリの量。
tt TT 制御 tty (ターミナル) (エイリアス tname, tty)。
tty TT 制御 tty (ターミナル) (エイリアス tname, tt)。
ucmd CMD comm を参照 (エイリアス comm, ucomm)。
ucomm COMMAND comm を参照 (エイリアス comm, ucmd)。
uid UID euid を参照 (エイリアス euid)。
uname USER euser を参照 (エイリアス euser, user)。
unit UNIT systemd サポートが含まれている場合、プロセスが属するユニットを表示する。
user USER euser を参照 (エイリアス euser, uname)。
userns USERNS プロセスが属する名前空間を記述する一意の inode 番号。namespaces(7) を参照。
uss USS 非スワップされた物理メモリで、他のタスクと共有されないメモリの量。
utsns UTSNS プロセスが属する名前空間を記述する一意の inode 番号。namespaces(7) を参照。
uunit UUNIT systemd サポートが含まれている場合、プロセスが属するユーザーユニットを表示する。
vsize VSZ vsz を参照 (エイリアス vsz)。
vsz VSZ プロセスの仮想メモリサイズ (KiB、1024 バイト単位)。デバイスマッピングは現在のところ除外され、今後変更される可能性がある (エイリアス vsize)。
wbytes WBYTES このプロセスによってストレージレイヤーに送信されたバイト数。
wcbytes WCBYTES キャンセルされた書き込みバイト数。
wchan WCHAN プロセスがスリープしているカーネル関数の名前。
wchars WCHARS このタスクによって、または今後書き込まれるバイト数。
wops WOPS 書き込み I/O 操作の数(つまり、write(2) や pwrite(2) などのシステムコール)。
環境変数
次の環境変数は、ps に影響を与える可能性があります。
COLUMNS
デフォルトの表示幅をオーバーライドします。
LINES
デフォルトの表示高さをオーバーライドします。
PS_PERSONALITY
posix、old、linux、bsd、sun、digital のいずれかに設定します(「PERSONALITY」セクションを参照)。
CMD_ENV
posix、old、linux、bsd、sun、digital のいずれかに設定します(「PERSONALITY」セクションを参照)。
I_WANT_A_BROKEN_PS
古いコマンドラインの解釈を強制します。
LC_TIME
日付の形式。
LIBPROC_HIDE_KERNEL
この変数を任意の値に設定すると、-e オプションで通常表示されるカーネルスレッドが非表示になります。これは、--ppid 2 -p 2 --deselect を選択するのと同じです。BSD モードでも機能します。
PS_COLORS
現在はサポートされていません。
PS_FORMAT
デフォルトの出力形式をオーバーライドします。-o オプションで使用される形式文字列に設定できます。特に、DefSysV と DefBSD の値が役立ちます。
POSIXLY_CORRECT
不適切な「機能」を無視する言い訳をしない。
POSIX2
「on」に設定すると、POSIXLY_CORRECT と同じように動作します。
UNIX95
不適切な「機能」を無視する言い訳をしない。
_XPG
CMD_ENV=irix の非標準動作をキャンセルします。
一般的に、これらの変数を設定するのは良い考えではありません。ただし、CMD_ENV または PS_PERSONALITY を Linux に設定すると、通常のシステムで役立ちます。この設定がない場合、ps は無意味で不適切な Unix98 標準に従います。
PERSONALITY
390 OS/390 OpenEdition の ps に似ています。
aix AIX の ps に似ています。
bsd FreeBSD の ps に似ています(完全に非標準)。
compaq Digital Unix の ps に似ています。
debian 古い Debian の ps に似ています。
digital Tru64(旧 Digital Unix、旧 OSF/1)の ps に似ています。
gnu 古い Debian の ps に似ています。
hp HP-UX の ps に似ています。
hpux HP-UX の ps に似ています。
irix Irix の ps に似ています。
linux ***** 推奨 *****
old 元の Linux の ps に似ています(完全に非標準)。
os390 OS/390 Open Edition の ps に似ています。
posix 標準。
s390 OS/390 Open Edition の ps に似ています。
sco SCO の ps に似ています。
sgi Irix の ps に似ています。
solaris2 Solaris 2+(SunOS 5)の ps に似ています。
sunos4 SunOS 4(Solaris 1)の ps に似ています(完全に非標準)。
svr4 標準。
sysv 標準。
tru64 Tru64(旧 Digital Unix、旧 OSF/1)の ps に似ています。
unix 標準。
unix95 標準。
unix98 標準。
バグ
bsdstart フィールドと start フィールドは、英語でのみ省略された月名を表示します。lstart フィールドと stime フィールドは、構成されたロケールで省略された月名と日名を表示しますが、言語によって省略された月名と日名の長さが異なるため、列幅を超えてしまう可能性があります。
関連項目
pgrep(1)、pstree(1)、top(1)、strftime(3)、proc(5)。
標準
この ps は、次の標準に準拠しています。
1 Single Unix Specification バージョン 2
2 The Open Group Technical Standard Base Specifications, Issue 6
3 IEEE Std 1003.1, 2004 Edition
4 X/Open System Interfaces Extension [UP XSI]
5 ISO/IEC 9945:2003
著者
ps はもともと Branko Lankester によって書かれました。Michael K. Johnson は、proc ファイルシステムを使用するように大幅に書き直し、いくつかの変更を加えました。Michael Shields は、pid-list 機能を追加しました。Charles Blake は、多層ソート、dirent スタイルのライブラリ、デバイス名から番号へのマッピングされたデータベース、System.map 上での近似二分探索、および多数のコードとドキュメントのクリーンアップを追加しました。David Mossberger-Tang は、psupdate 用の汎用 BFD サポートを記述しました。Albert Cahalan は、ps を完全な Unix98 および BSD サポート用に書き直し、さらに時代遅れで異なる構文に対するいくつかの醜いハックを追加しました。
バグ報告は _ までお送りください。購読は不要であり、推奨もされません。