31.3. プロセスの確認(ps)

実行中のプロセスを確認するコマンドに ps があります。継続的にプロセスの状態を確認する場合は、top コマンドを使用します。top については 項31.2 を参照してください。

ps [option]

表 31-6. ps コマンドの主な option

-A | -eすべてのプロセスを表示します。
-N選択したプロセスをのぞいて表示します。
-atty を持つすべてのプロセスからセッション・リーダーをのぞいて表示します。
-dセッション・リーダーをのぞくすべてのプロセス表示します。
Tこのターミナルのすべてのプロセスを表示します。
a他のユーザーも含めたこのターミナルのすべてのプロセスを表示します。
r実行中のプロセスのみを表示します。
x制御端末のないプロセス(デーモンなど)を表示します。
-Ccommand指定コマンドのプロセスを表示します。
-U user指定されたユーザー(実 UID)のプロセスを表示します。ユーザー名またはユーザー ID で指定可能です。
-G group指定されたグループ(実 GID)のプロセスを表示します。グループ名またはグループ ID で指定可能です。
-p PID指定プロセス ID を持つプロセスを表示します。
-u user指定された実効ユーザーのプロセスを表示します。ユーザー名またはユーザー ID で指定可能です。
-t tty指定 tty のプロセスを表示します。
U user指定されたユーザーのプロセスを表示します。ユーザー名またはユーザー ID で指定可能です。
p PID指定プロセス ID を持つプロセスを表示します。
X古い Linux i386 レジスタフォーマットで表示します。
jジョブ制御フォーマットで表示します。
lロングフォーマットで表示します。
sシグナルフォーマットで表示します。
uユーザーフォーマットで表示します。
v仮想メモリフォーマットで表示します。

カレントユーザーのプロセスをユーザーフォーマットで表示します。

$ ps u
USER       PID %CPU %MEM   VSZ  RSS TTY      STAT START   TIME COMMAND
taro      1315  0.0  0.5  4304 1440 tty2     Ss   14:46   0:00 -bash
taro      1338  0.2  0.3  3404  964 tty2     S+   14:46   0:11 top
taro      1803  0.5  0.6  5884 1704 pts/1    S    15:56   0:00 -bash
taro      1824  0.0  0.2  3056  728 pts/1    R+   15:56   0:00 ps u

制御端末のないプロセスも含めすべてのプロセスをユーザーフォーマットで表示します。

$ ps aux
USER       PID %CPU %MEM   VSZ  RSS TTY      STAT START   TIME COMMAND
root         1  0.0  0.2  2256  548 ?        S    14:22   0:00 init [3]
root         2  0.0  0.0     0    0 ?        SN   14:22   0:00 [ksoftirqd/0]
root         3  0.0  0.0     0    0 ?        S<   14:22   0:00 [events/0]
root         4  0.0  0.0     0    0 ?        S<   14:22   0:00 [khelper]
root         5  0.0  0.0     0    0 ?        S<   14:22   0:00 [kblockd/0]
root        31  0.0  0.0     0    0 ?        S    14:22   0:00 [pdflush]
root        32  0.0  0.0     0    0 ?        S    14:22   0:00 [pdflush]

省略...

起動中の httpd プロセスのプロセス ID と ユーザー ID を調べます。

$ ps aux | grep httpd
root      1357  0.0  4.1 22176 10764 ?       Ss   14:47   0:00 /usr/sbin/httpd
apache    1360  0.0  2.9 18488 7492 ?        S    14:47   0:00 /usr/sbin/httpd
apache    1361  0.0  4.6 33036 11944 ?       S    14:47   0:00 /usr/sbin/httpd
apache    1363  0.0  4.6 33036 11944 ?       S    14:47   0:00 /usr/sbin/httpd
apache    1365  0.0  4.6 33036 11944 ?       S    14:47   0:00 /usr/sbin/httpd
apache    1367  0.0  4.6 33036 11944 ?       S    14:47   0:00 /usr/sbin/httpd
apache    1369  0.0  4.6 33036 11944 ?       S    14:47   0:00 /usr/sbin/httpd
taro      1978  0.0  0.2  3584  768 pts/1    R+   16:33   0:00 grep httpd

表示される主なフィールドは以下の通りです。

表 31-7. ps コマンドの主なフィールド

USERプロセスを所有するユーザー名
PIDプロセス ID
%CPUプロセスの起動されてからの時間で CPU 使用時間を割ったものです。
%MEM実メモリの使用量
VSZ使用中の仮想メモリサイズ
RSS使用中の実メモリサイズ
TTYプロセスの tty
STATプロセスの状態コード。D(割り込み不可能なスリープ状態)、R(実行可能状態)、S(スリープ状態)、T(トレース中または停止中)、Z(ゾンビプロセス)。付属して < (プライオリティの高いタスク)、N(プライオリティの低いタスク)、s(セッション・リーダー)、+(フォアグラウンドプロセス) が表示されます。
STARTプロセス生成時刻
TIMEプロセスが CPU を使用した累計の時間
COMMANDコマンド