コマンドラインのマニュアル

Man » ps マニュアルオンライン - ps man ページの詳細なオンラインドキュメント

🌍
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は、プロセスの仮想サイズ(コード+データ+スタック)です。

とマークされたプロセスは、親プロセスによって適切に破棄されなかった、死んだプロセス(いわゆる「ゾンビ」プロセス)です。これらのプロセスは、親プロセスが終了した場合、init(8)によって破棄されます。

ユーザー名の長さがディスプレイ列の幅よりも大きい場合、ユーザー名は切り捨てられます。長さをカスタマイズするには、-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 サポート用に書き直し、さらに時代遅れで異なる構文に対するいくつかの醜いハックを追加しました。

バグ報告は _ までお送りください。購読は不要であり、推奨もされません。