この節では、プロセス情報を管理するために使用されるコマンドについて説明します。
ps コマンドを使用すると、システム上でアクティブなプロセスの状態をチェックできます。また、プロセスについての技術的な情報も表示できます。このデータは、プロセスの優先順位をどのように設定するという判断や、ハングしていたりアクティブでないプロセスをどのように終了するかを決定するなどの管理作業に利用できます。
ps コマンドを使用すると、システム上でアクティブなプロセスの状態をチェックできます。使用するオプションに応じて、次の情報が表示されます。
プロセスの現在の状態
プロセス ID
親プロセス ID
ユーザー ID
スケジューリングクラス
優先順位
プロセスのアドレス
使用したメモリー
使用した CPU 時間
表 63-1 は、ps コマンドで表示されるフィールドの一部を示しています。どのフィールドが表示されるかは、選択するオプションによって異なります。使用可能なすべてのオプションについては、ps(1) のマニュアルページを参照してください。
表 63-1 ps により出力されるフィールド
フィールド |
説明 |
|
---|---|---|
UID |
プロセス所有者の実効ユーザー ID |
|
PID |
プロセスの識別番号 |
|
PPID |
親プロセスの識別番号 |
|
C |
スケジューリングのためのプロセッサ使用率。このフィールドは -c オプションを使用すると表示されない。 |
|
CLS |
プロセスが所属するスケジューリングクラス。リアルタイム、システム、またはタイムシェアリングのいずれか。このフィールドは、-c オプションを指定した場合にのみ表示される。 |
|
PRI |
カーネルスレッドのスケジューリング優先順位。番号が大きいほど優先順位が高い。 |
|
NI |
プロセスの nice 番号。これは、スケジュール優先順位に影響する。プロセスの nice 番号を大きくすると、その優先順位が下がる。 |
|
ADDR |
proc 構造体のアドレス。 |
|
SZ |
プロセスの仮想アドレスサイズ |
|
WCHAN |
プロセスが休眠中のイベントまたはロックのアドレス |
|
STIME |
プロセスの起動時刻 (時、分、秒) |
|
TTY |
プロセス (またはその親プロセス) が起動された端末。疑問符は、制御端末がないことを示す。 |
|
TIME |
プロセスの起動以降に使用した合計 CPU 時間 |
|
CMD |
プロセスを生成したコマンド |
システム上で実行中のすべてのプロセスを表示するには、ps コマンドを使用します。
$ ps [-ef]
ps |
ログインセッションに関連するプロセスのみを表示する。 |
-ef |
システム上で実行中のすべてのプロセスに関する詳細情報を表示する。 |
次の例は、オプションを指定しないときの ps コマンドからの出力を示します。
$ ps PID TTY TIME COMD 1664 pts/4 0:06 csh 2081 pts/4 0:00 ps
次の例は、ps -ef の出力を示します。この例は、システムのブート時に最初に実行されたプロセスが sched (スワッパ) であり、それに続いて init プロセス、pageout の順に実行されたことを示しています。
$ ps -ef UID PID PPID C STIME TTY TIME CMD root 0 0 0 May 05 ? 0:04 sched root 1 0 0 May 05 ? 10:48 /etc/init - root 2 0 0 May 05 ? 0:00 pageout root 3 0 0 May 05 ? 43:21 fsflush root 238 1 0 May 05 ? 0:00 /usr/lib/saf/sac -t 300 root 115 1 0 May 05 ? 0:10 /usr/sbin/rpcbind root 158 1 0 May 05 ? 0:00 /usr/lib/autofs/autom... root 134 1 0 May 05 ? 0:12 /usr/sbin/inetd -s root 107 1 0 May 05 ? 11:49 /usr/sbin/in.routed -q root 117 1 5 May 05 ? 899:32 /usr/sbin/keyserv root 125 1 0 May 05 ? 0:00 /usr/sbin/kerbd root 123 1 0 May 05 ? 4:17 /usr/sbin/nis_cachemgr root 137 1 0 May 05 ? 0:00 /usr/lib/nfs/statd root 139 1 0 May 05 ? 0:02 /usr/lib/nfs/lockd root 159 1 50 May 05 ? 8243:36 /usr/sbin/automount root 199 191 0 May 05 ? 0:00 lpNet root 162 1 0 May 05 ? 0:07 /usr/sbin/syslogd root 181 1 0 May 05 ? 0:03 /usr/sbin/nscd... root 169 1 0 May 05 ? 5:09 /usr/sbin/cron root 191 1 0 May 05 ? 0:00 /usr/lib/lpsched root 210 1 0 May 05 ? 0:01 /usr/sbin/vold root 200 1 0 May 05 ? 0:08 /usr/lib/sendmail -bd -q1h root 4942 1 0 May 17 console 0:00 /usr/lib/saf/ttymon... root 208 1 0 May 05 ? 0:00 /usr/lib/utmpd root 241 238 0 May 05 ? 0:00 /usr/lib/saf/ttymon root 5748 134 0 17:09:49 ? 0:01 in.rlogind root 5750 5748 0 17:09:52 pts/0 0:00 -sh root 5770 5750 2 17:23:39 pts/0 0:00 ps -ef