この節では、プロセス情報を管理するために使用されるコマンドについて説明します。
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