例 -- プロセスを表示する
次の例は、オプションを指定しないときの 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 Dec 20 ? 0:17 sched
root 1 0 0 Dec 20 ? 0:00 /etc/init -
root 2 0 0 Dec 20 ? 0:00 pageout
root 3 0 0 Dec 20 ? 4:20 fsflush
root 374 367 0 Dec 20 ? 0:00 /usr/lib/saf/ttymon
root 367 1 0 Dec 20 ? 0:00 /usr/lib/saf/sac -t 300
root 126 1 0 Dec 20 ? 0:00 /usr/sbin/rpcbind
root 54 1 0 Dec 20 ? 0:00 /usr/lib/sysevent/syseventd
root 59 1 0 Dec 20 ? 0:00 /usr/lib/picl/picld
root 178 1 0 Dec 20 ? 0:03 /usr/lib/autofs/automountd
root 129 1 0 Dec 20 ? 0:00 /usr/sbin/keyserv
root 213 1 0 Dec 20 ? 0:00 /usr/lib/lpsched
root 154 1 0 Dec 20 ? 0:00 /usr/sbin/inetd -s
root 139 1 0 Dec 20 ? 0:00 /usr/lib/netsvc/yp/ypbind ...
root 191 1 0 Dec 20 ? 0:00 /usr/sbin/syslogd
root 208 1 0 Dec 20 ? 0:02 /usr/sbin/nscd
root 193 1 0 Dec 20 ? 0:00 /usr/sbin/cron
root 174 1 0 Dec 20 ? 0:00 /usr/lib/nfs/lockd
daemon 175 1 0 Dec 20 ? 0:00 /usr/lib/nfs/statd
root 376 1 0 Dec 20 ? 0:00 /usr/lib/ssh/sshd
root 226 1 0 Dec 20 ? 0:00 /usr/lib/power/powerd
root 315 1 0 Dec 20 ? 0:00 /usr/lib/nfs/mountd
root 237 1 0 Dec 20 ? 0:00 /usr/lib/utmpd
.
.
.
|
/proc ファイルシステムとコマンド
プロセスコマンドを使用すると、 /proc ディレクトリにあるプロセスに関する詳細情報を表示できます。/proc ディレクトリは プロセスファイルシステム (PROCFS) とも呼ばれます。アクティブなプロセスのイメージは、そのプロセス ID 番号を使って /proc に格納されます。
プロセスツールは ps コマンドの一部のオプションに似ていますが、このツールから提供される出力の方が詳細です。プロセスコマンドには次の機能があります。
/proc プロセスコマンドを使用したプロセスの管理
いくつかのプロセスコマンドを使用すると、アクティブなプロセスに関する詳細な技術情報を表示したり、そのプロセスを制御したりできます。 表 23-3に、いくつかの/proc コマンドを示します。
プロセスが無限ループ内でトラップされた場合や、実行時間が長すぎる場合は、プロセスを終了 (kill) できます。pkill コマンドを使用してプロセスを終了する方法については、第 23 章「システムプロセスの管理 (手順)」を参照してください。
/proc ファイルシステムは、状態情報と制御機能のためのサブディレクトリを含むディレクトリ階層です。
/proc ファイルシステムは、ウォッチポイント機能も提供します。この機能は、プロセスのアドレス領域の個々のページの読み取り権または書き込み権を再マップするために使用されます。この機能は制限がなく、MT-safe です。
デバッグ用ツールは、/proc の新しいウォッチポイント機能を使用するように変更されています。つまり、ウォッチポイントプロセス全体がより高速になったためです。
dbx デバッグ用ツールを使用してウォッチポイントを設定するときの次の制限は取り除かれました。
SPARC レジスタウィンドウのため、スタック上のローカル変数にウォッチポイントを設定する。
マルチスレッド化されたプロセスにウォッチポイントを設定する。
詳細については、proc(4)、core(4)、および mdb(1) のマニュアルページを参照してください。
表 23-3 /proc プロセスコマンド
プロセスコマンド | 説明 |
|---|---|
pcred | プロセスの資格情報を表示する |
pfiles | プロセス内で開いているファイルに関する fstat 情報と fcntl 情報を表示する |
pflags | /proc 追跡フラグ、保留状態のシグナルと保持状態のシグナル、他の状態情報を出力する |
pldd | プロセスにリンクされている動的ライブラリを表示する |
pmap | 各プロセスのアドレス空間マップを表示する |
psig | 各プロセスのシグナルの動作とハンドラを表示する |
prun | 各プロセスを開始する |
pstack | 各プロセス内の LWP の 16 進とシンボルのスタックトレースを出力する |
pstop | 各プロセスを停止する |
ptime | microstate アカウントを使用してプロセスの時間を測定する |
ptree | プロセスを含むプロセスツリーを表示する |
pwait | プロセス終了後の状態情報を表示する |
pwdx | プロセスの現在の作業ディレクトリを表示する |
詳細については、proc(1) のマニュアルページを参照してください。
プロセスに関する情報を表示する方法
詳細を表示したいプロセスのプロセス ID を表示します。
# pgrep process
process は、詳細を表示したいプロセスの名前です。
プロセス ID は、出力の第 1 列目に表示されます。
表示したいプロセス情報を表示します。
# /usr/bin/pcommand pid
pcommand
実行したいプロセスツールコマンド。表 23-3 を参照
pid
プロセス ID
例 -- プロセスに関する情報を表示する
次の例は、プロセスツールコマンドを使用して lpsched プロセスに関する詳細情報を表示する方法を示しています。
# pgrep lpsched 1
213
# pwdx 213 2
213: /
# ptree 213 3
213 /usr/lib/lpsched
# pfiles 213 4
213: /usr/lib/lpsched
Current rlimit: 4096 file descriptors
0: S_IFIFO mode:0000 dev:270,0 ino:67 uid:0 gid:0 size:0
O_RDWR
1: S_IFIFO mode:0000 dev:270,0 ino:67 uid:0 gid:0 size:0
O_RDWR
3: S_IFCHR mode:0666 dev:136,0 ino:35882 uid:0 gid:3 rdev:21,0
O_WRONLY FD_CLOEXEC
4: S_IFDOOR mode:0444 dev:275,0 ino:18526 uid:0 gid:0 size:0
O_RDONLY|O_LARGEFILE FD_CLOEXEC door to nscd[208]
5: S_IFREG mode:0664 dev:136,0 ino:64648 uid:71 gid:8 size:0
O_WRONLY
|
lpsched のプロセス ID を表示します。
lpsched の現在の作業ディレクトリを表示します。
lpsched が入っているプロセスツリーを表示します。
fstat と fcntl の情報を表示します。



