ps コマンドは、現在実行中のプロセスを表示するためのコマンドです。プロセスのID(PID)、親プロセスのID(PPID)、実行中のユーザー、CPU使用率など、プロセスに関する詳細な情報を確認できます。ps コマンドはシステム管理やトラブルシューティングにおいて、プロセスの状態を確認するために頻繁に使用されます。
書式
ps [オプション]
主なオプション
オプション | 説明 | 実行例 |
---|---|---|
-e | すべてのプロセスを表示 | ps -e |
-f | フルフォーマットで表示(UID, PPID, C など) | ps -ef |
-u <ユーザー名> | 指定したユーザーのプロセスを表示 | ps -u root |
-p <PID> | 指定したプロセス ID の情報を表示 | ps -p 1234 |
-a | 端末に関連する全ユーザーのプロセスを表示 | ps -a |
-x | 制御端末に関連しないプロセスも表示 | ps -x |
-aux | すべてのプロセスを詳細に表示(BSD 形式) | ps aux |
-o <フォーマット> | 出力フォーマットを指定 | ps -eo pid,comm,%cpu,%mem |
–sort <キー> | 指定したキーでソート | ps aux –sort=-%cpu |
-l | ロングフォーマットで詳細情報を表示 | ps -l |
-T | 現在の端末のすべてのスレッドを表示 | ps -T |
SysV形式
全てプロセスをフルフォーマットで表示
以下のコマンドで全てプロセスを表示します。
ps -ef

各項目の意味
ps -ef で表示した場合の各項目は以下のような意味を持っています。
項目 | 説明 |
---|---|
UID | プロセスを実行しているユーザーのID(User ID) |
PID | プロセスのID(Process ID) |
PPID | 親プロセスのID(Parent Process ID) |
C | スケジューラーのCPU使用率の指標(%CPUとは異なる) |
STIME | プロセスが開始された時刻または日付 |
TTY | プロセスが関連付けられている端末(制御端末) |
TIME | プロセスが使用した累積CPU時間 |
CMD | 実行されたコマンド名(またはコマンドライン) |
BSD形式で表示
全てプロセスをBSD形式で表示
ps aux

各項目の意味(BSD)
BSD形式で表示される各項目の意味は次の通りです。
項目 | 説明 |
---|---|
USER | プロセスを実行しているユーザー名 |
PID | プロセスのID(Process ID) |
%CPU | CPU 使用率(プロセスが使用している CPU 時間の割合) |
%MEM | メモリ使用率(プロセスが使用している物理メモリの割合) |
VSZ | 仮想メモリサイズ(Virtual Memory Size)。プロセスが利用できる仮想アドレス空間のサイズ(KB単位) |
RSS | 常駐メモリサイズ(Resident Set Size)。実際に物理メモリ上にロードされているサイズ(KB単位) |
TTY | プロセスが関連付けられている端末(制御端末)。? は端末に関連付けられていないことを示す |
STAT | プロセスの状態(S=スリープ, R=実行中, Z=ゾンビ, T=停止 など) |
START | プロセスの開始時刻または日付 |
TIME | プロセスが使用した累積 CPU 時間 |
COMMAND | 実行されたコマンド名(またはコマンドライン) |
プロセスの状態
以下はSTATの表示例です。SysV、BSD形式で共通です。

記号 | 説明 |
---|---|
D | 割り込み不可のスリープ状態(通常は I/O 待ち) |
I | アイドル状態のカーネルスレッド |
R | 実行中 または 実行可能(CPU の実行キューに入っている) |
S | 割り込み可能なスリープ状態(イベント待ち) |
T | ジョブ制御シグナルによって停止中(CTRL+Z など) |
t | デバッガによって停止中(トレース中) |
W | ページング中(カーネル 2.6 以降では無効) |
X | 終了済み(通常は表示されない) |
Z | ゾンビプロセス(親プロセスが処理していない終了済みプロセス) |
SysV形式でSTATを確認するにはps -eo(表示フォーマット)でstatを指定します。
ps aux と同じような項目を表示
ps -eo user,pid,%cpu,%mem,vsz,rss,tty,stat,start,time,command

BSD 形式 (STAT
に追加される記号)
記号 | 説明 |
---|---|
< | 高優先度プロセス(他のユーザーにとって “nice” ではない) |
N | 低優先度プロセス(他のユーザーにとって “nice” なプロセス) |
L | メモリにロックされたページを持つ(リアルタイム処理やカスタム I/O に使用) |
s | セッションリーダー(そのセッションの親プロセス) |
l | マルチスレッドプロセス(NPTL pthreads などでスレッドを使用) |
+ | フォアグラウンドのプロセスグループに属している |
ソート
「–sort」オプションを使用すると指定した項目順に並べることができます。
CPU使用率の高い順に並び変え
ps -eo user,pid,%cpu,%mem,vsz,rss,tty,stat,start,time,command --sort=-%cpu

仮想メモリサイズが大きい順に並び変える
ps -eo user,pid,%cpu,%mem,vsz,rss,tty,stat,start,time,command --sort=-vsz

コメント