Sun Microsystems, Inc.
spacerspacer
spacer www.sun.com docs.sun.com |
spacer
black dot
 
 
23.  システムプロセスの管理 (手順) システムプロセスの管理に使用するコマンド (概要) プロセスを表示する方法  戻る   目次   次へ 
   
 

例 -- プロセスを表示する

次の例は、オプションを指定しないときの 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 コマンドの一部のオプションに似ていますが、このツールから提供される出力の方が詳細です。プロセスコマンドには次の機能があります。

  • fstatfcntl 情報、作業ディレクトリ、親プロセスと子プロセスからなるツリーなど、プロセスに関する詳細情報を表示します。

  • ユーザーが停止または再開できるように、プロセスに対する制御を提供します。

/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) のマニュアルページを参照してください。

プロセスに関する情報を表示する方法

  1. 詳細を表示したいプロセスのプロセス ID を表示します。

    # pgrep process

    process は、詳細を表示したいプロセスの名前です。

    プロセス ID は、出力の第 1 列目に表示されます。

  2. 表示したいプロセス情報を表示します。

    # /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
  1. lpsched のプロセス ID を表示します。

  2. lpsched の現在の作業ディレクトリを表示します。

  3. lpsched が入っているプロセスツリーを表示します。

  4. fstatfcntl の情報を表示します。

 
 
 
  戻る   目次   次へ