名前 | 形式 | 機能説明 | オプション | 使用法 | 終了ステータス | ファイル | 属性 | 関連項目 | 警告
/usr/bin/pflags [-r] pid | core [/lwp] ...
/usr/bin/pcred [pid | core]...
/usr/bin/pcred [-u user/uid] [-g group/gid] [-G grouplist] pid...
/usr/bin/pcred -l login pid...
/usr/bin/pldd [-F] [pid | core]...
/usr/bin/psig [-n] pid ...
/usr/bin/pstack [-F] pid | core [/lwp] ...
/usr/bin/pfiles [-Fn] pid...
/usr/bin/pwdx pid...
/usr/bin/pstop pid...
/usr/bin/prun pid...
/usr/bin/pwait [-v] pid...
/usr/bin/ptime command [arg]...
proc ツールは、/proc (proc(4) を参照) の機能を使用するユーティリティーです。これらのツールのほとんどには、プロセス ID (pid) のリストを指定できます。プロセス ID を指定できるツールでは、/proc/nnn もプロセス ID として認識されるため、シェル展開 /proc/* を使用するとシステム内のすべてのプロセスを指定できます。
一部の proc ツールは、コアファイルに適用することもできます (core(4) を参照)。コアファイルに適用されるツールは、プロセス ID またはコアファイルの名前あるいはその両方のリストを認識します。
一部の proc ツールは、個別のスレッドに対して動作できます。ユーザーは、選択した (つまり、/thread-id をプロセス ID またはコアに追加した) スレッドだけを検査できます。複数のスレッドを選択するには、区切り文字「-」と「,」を使用します。たとえば、「/1,2,7-9」は、スレッド 1、2、7、8、および 9 を検査します。
「警告」を参照してください。
/proc 追跡フラグ (保留および維持シグナル)、およびその他の /proc ステータス情報を各プロセスの lwp ごとに表示します。
各プロセスの資格 (実効 UID、実 UID、保存された UID、実効 GID、実 GID、保存された GID) を、表示または設定します。
各プロセスにリンクされている (dlopen(3C) を使用して明示的に接続されている共有オブジェクトを含む) 動的ライブラリを表示します。ldd(1) も参照してください。
各プロセスのシグナルの動作とハンドラを表示します。signal.h(3HEAD) を参照してください。
各プロセス内の LWP の 16 進とシンボルのスタックトレースを出力します。
各プロセスで開かれているすべてのファイルに関する fstat(2) および fcntl(2) 情報を報告します。また、/proc/pid/path から情報を使用できる場合は、ファイルへのパスが報告されます。これは、ファイルを開くときに使用された名前と必ずしも同じではありません。詳細は、proc(4) を参照してください。
各プロセスの現在の作業用ディレクトリを表示します。
各プロセスを停止します (PR_REQUESTED による停止)。
各プロセスを実行するように設定します (pstop の逆)。
指定したすべてのプロセスの終了を待機します。
time(1) と同様に、コマンド の時間を計測しますが、再現性のある精度を得るためにマイクロステートアカウンティングを使用します。time(1) とは異なり、コマンドの子の時間は計測されません。
サポートしているオプションは、以下のとおりです。
強制実行。別のプロセスが制御していても、ターゲットプロセスを捕捉します。
(psig および pfiles のみ) 非冗長モードを設定します。psig は、名前ではなく、シグナルハンドラアドレスを表示します。pfiles は、各ファイル記述子の冗長情報を表示しません。代わりに、pfiles は、プロセスが fstat(2) を各ファイル記述子に適用した場合に検出される情報に出力を制限します。
(pflags のみ) プロセスが停止された場合、プロセスのマシンレジスタを表示します。
(pwait のみ) 冗長。終了を標準出力に報告します。
さらに、pcred は次のオプションをサポートしています。
ターゲットプロセスの実 GID (グループ ID)、実効 GID、保存された GID を、指定した値に設定します。
ターゲットプロセスの補助 GID を、指定したグループのリストに設定します。補助グループは、グループ名 ID をコンマで区切ったリストで指定します。空のリストは、ターゲットプロセスの補助グループリストを消去します。
ターゲットプロセスの実 UID、実効 UID、保存された UID を、指定したログインの UID に設定します。ターゲットプロセスの実 GID、実効 GID、保存された GID を、指定したログインの GID に設定します。補助グループリストを、指定したログインの補助グループリストに設定します。
ターゲットプロセスの実 UID (ユーザー ID)、実効 UID、保存された UID を指定した値に設定します。
別のプロセスの資格を設定するには、setuid(2) で説明されている規則に従って、ユーザーおよびグループ ID を指定した値に変更するための十分な特権がプロセスに必要です。また、ターゲットプロセスを制御するための十分な特権がプロセスに必要です。
次の proc ツールは、ターゲットプロセスの検査時および結果の報告時にターゲットプロセスを停止します。pfiles、pldd、および pstack。プロセスは停止中に何も実行できません。したがって、たとえば、X サーバーが、X サーバーの制御下のウィンドウで実行されているこれらのいずれかの proc ツールによって検査される場合、proc ツールは更新できないウィンドウに結果を表示しようとするため、ウィンドウシステム全体がデッドロックになる可能性があります。この場合、rlogin(1) を使用して別のシステムからログインし、問題のある proc ツールを終了すると、デッドロックが解決されます。
「警告」を参照してください。
-F フラグを使用する場合は注意が必要です。1 つの犠牲プロセスに 2 つの制御プロセスを強要すると、混乱を引き起こす可能性があります。第一制御プロセス (通常は、デバッガ) が犠牲プロセスを停止していて、かつその proc ツールの使用時に第一制御プロセスが何も行わない場合にのみ安全が保証されます。
一部の proc ツールは、前述の形式で示されているように、コアファイルにも適用できます。コアファイルは、プロセスの状態のスナップショットで、シグナルによってプロセスを終了する前にカーネルによって、または gcore(1) ユーティリティーによって生成されます。一部の proc ツールでは、コアをダンプしたプロセスに対応する実行可能ファイルの名前またはプロセスに関連付けられている共有ライブラリの名前を得ることが必要になる場合があります。これらのファイルは、たとえば、pstack(1) のシンボルテーブル情報を提供するために必要です。その proc ツールで、必要な実行可能ファイルまたは共有ライブラリを検出できない場合、一部のシンボル情報を表示できないことがあります。同様に、あるオペレーティングシステムリリースからのコアファイルが、別のオペレーティングシステムリリース上で検査される場合は、ランタイムリンクエディタデバッギングインタフェース (librtld_db) を初期化できません。この場合、共有ライブラリのシンボル情報は使用できません。
次の属性については、attributes(5) を参照してください。
属性タイプ |
属性値 |
---|---|
使用条件 |
SUNWesu |
インタフェースの安定性 |
以下を参照。 |
人間が読める形式の出力は不安定です。オプションは開発中です。
gcore(1), ldd(1), pargs(1), pgrep(1), pkill(1), plimit(1), pmap(1), preap(1), ps(1), ptree(1), ppgsz(1), pwd(1), rlogin(1), time(1), truss(1), wait(1), fcntl(2), fstat(2), setuid(2), dlopen(3C), signal.h(3HEAD), core(4), proc(4), process(4), attributes(5), zones(5)
次の proc ツールは、ターゲットプロセスの検査中および結果の報告中にターゲットプロセスを停止します。pfiles、pldd、および pstack。
プロセスは停止中に何も実行できません。本稼働環境で頻繁に使用されるプロセスを短時間でも停止すると、これらのプロセスが深刻なボトルネックになったりハングアップしたりして、ユーザーがプロセスを使用できなくなることがあります。一部のデータベースも異常終了する可能性があります。したがって、たとえば、前述の proc ツールを使用していずれかのデータベースプロセスが追跡されるときに、大きな負荷のかかるデータベースサーバーはハングアップする可能性があります。このため、本稼働環境で UNIX プロセスを停止することは避けるべきです。
これらのツールによって停止されているプロセスは、 /usr/bin/ps -eflL を実行し、最初の列で「T」を検索して、識別することができます。ただし、「sched」などの特定のプロセスは、ほとんどの場合デフォルトで「T」ステータスを表示する可能性があります。
名前 | 形式 | 機能説明 | オプション | 使用法 | 終了ステータス | ファイル | 属性 | 関連項目 | 警告