$ ps [オプション] |
実行中のプロセスを確認するには ps というコマンドを使用します。この他にプロセスを表示するコマンドに top があります。これは、各プロセスを CPU の負荷が大きい順やメモリの消費が大きい順などで表示します。
ps コマンドの代表的なオプションを以下に示します。
表 8-1. ps コマンドのオプション
| a | 現在の端末から実行された、全プロセスを表示します。 |
| f | プロセスの親子関係をツリー表記で表示します。 |
| l | 詳細情報(ロングフォーマット)を含めて表示します。 |
| u | ユーザー情報を優先して表示します。 |
| w | 画面に収まらない行を折り返して表示します。 |
| x | 制御端末から実行されていないプロセスも表示します。 |
![]() | 他の一般的なコマンドと異なり、オプションの前にハイフンは付けません。 |
オプションを指定せずに実行すると、ps コマンドを実行した端末で実行中の自分のプロセスだけが表示されます。
$ ps PID TTY TIME CMD 1374 pts/2 00:00:00 bash 1588 pts/2 00:00:00 ps |
PID(プロセス ID)とは、プロセスに付与される固有な番号です。プロセスは、この PID という番号で管理されています。
他のユーザーのプロセスも表示するには a オプションを指定します。また、ユーザー名も同時に表示したい場合には u オプションも指定します。
$ ps au USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND root 1128 0.0 1.2 3420 1612 pts/2 S 14:23 0:00 bash turbo 1374 0.0 1.2 3376 1564 pts/2 S 16:16 0:00 -bash turbo 1589 0.0 0.6 2536 768 pts/2 R 18:22 0:00 ps au |
通常、ps コマンドは端末から実行されたプロセスだけを表示しますが、それ以外のプロセス(デーモンや他の端末で実行されたプロセスなど)も含め、実行されている全てのプロセスを表示したい場合は x オプションを指定します。
$ ps aux USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND root 1 0.0 0.0 1308 80 ? S 11:14 0:03 init [3] root 2 0.0 0.0 0 0 ? SW 11:14 0:01 [keventd] root 3 0.0 0.0 0 0 ? SW 11:14 0:00 [kapm-idled] root 4 0.0 0.0 0 0 ? SWN 11:14 0:00 [ksoftirqd_CPU0] root 5 0.0 0.0 0 0 ? SW 11:14 0:01 [kswapd] root 6 0.0 0.0 0 0 ? SW 11:14 0:00 [bdflush] root 7 0.0 0.0 0 0 ? SW 11:14 0:00 [kupdated] root 8 0.0 0.0 0 0 ? SW 11:14 0:00 [i2oevtd] root 9 0.0 0.0 0 0 ? SW< 11:14 0:00 [mdrecoveryd] root 50 0.0 0.0 0 0 ? SW 11:14 0:00 [khubd] root 284 0.0 0.0 1296 4 ? S 11:14 0:00 /usr/sbin/apmd -p root 310 0.0 0.1 1368 224 ? S 11:14 0:00 syslogd -m 0 root 320 0.0 0.0 2108 4 ? S 11:14 0:00 klogd daemon 335 0.0 0.0 1352 96 ? S 11:14 0:00 /usr/sbin/atd root 360 0.0 0.0 1448 4 ? S 11:14 0:00 /sbin/cardmgr root 375 0.0 0.0 2188 4 ? S 11:14 0:00 xinetd -stayalive root 501 0.0 0.0 2584 4 ? S 11:14 0:00 sshd root 527 0.0 0.0 4904 52 ? S 11:14 0:00 httpd nobody 538 0.0 0.0 5008 4 ? S 11:14 0:00 httpd 省略 |
特定のプロセスだけを表示したい場合には、次のようにパイプを使用して grep コマンドへ渡すと便利です。
$ ps auxw | grep rxvt turbo 3949 0.2 1.3 3304 1664 ? S 13:19 0:00 rxvt turbo 3963 0.0 0.5 2488 752 pts/1 S 13:20 0:00 grep rxvt |
u オプションを付けた場合は、左から USER(ユーザー名)、PID(プロセスID)、%CPU(CPU利用率)、%MEM(メモリ利用率)、VSZ(仮想イメージのサイズ)、RSS(使用中の物理メモリサイズ)、TTY(端末)、STAT(状態)、START(開始時刻)、TIME(CPU消費時間)、COMMAND(コマンド)の順に表示されます。
STAT(プロセスの状態) の記号の意味は以下の通りです。