procstack コマンド

目的

プロセス内のすべてのスレッドについて、 16 進アドレスとシンボル名を印刷します。

構文

procstack [ -F ] [ -g ] ProcessID ...

説明

/proc ファイルシステムは、プロセスを制御するメカニズムを提供します。また、プロセスとスレッドの現行状態についての情報もアクセスできますが、これはバイナリー形式です。proctools コマンドは、いくつかの使用できる情報に基づいて ASCII レポートを提供します。

ほとんどのコマンドは、プロセス ID のリストまたは /proc/ ProcessID 文字列を入力とします。 したがって、シェル拡張 /proc/* を使用することにより、システム内のすべてのプロセスを指定できます。

proctools コマンドは、指定されたプロセスの /proc から情報を収集し、ユーザーに表示します。 proctools コマンドは procrun および procstop と同様に、/proc インターフェースを使用してプロセスを開始し、停止します。

コマンドが /proc から収集した情報は、 プロセスの現行状態のスナップショットであり、 したがって停止したプロセス以外は、刻々と変化します。

procstack コマンドは、プロセス内のすべてのスレッドについて 16 進アドレスとシンボル名を印刷します。

フラグ

項目 説明
-F 別のプロセスが制御を持っていたとしても、強制的に procstack コマンドがターゲット・プロセスの制御を得るようにします。
-g シンボル名が人間が理解できる名前に変換されないようにします。
ProcessID プロセス ID を指定します。

  1. プロセス 11928 の現行スタックを表示するには、次のように入力します。
    procstack 11928
    このコマンドの出力は以下のような情報です。
    11928 : -sh                                    
    d01d15c4  waitpid   (?, ?, ?) + e0             
    10007a1c  job_wait   (?) + 144                 
    10020298  xec_switch   (?, ?, ?, ?, ?) + 9c0   
    10021db4  sh_exec   (?, ?, ?) + 304            
    10001370  exfile   () + 628                    
    10000300  main   (?, ?) + a1c                  
    10000100  __start   () + 8c
  2. アプリケーション appl のマルチスレッド・プロセス 28243 のすべてのスレッドの現行スタックを表示するには、次のように入力します。
    procstack 28243
    
    このコマンドの出力は次のようなものです。
    28243 : appl
    ---------- tid# 54321 -----------        
    d0059eb4  _p_nsleep   (?, ?) + 10
    d01f1fc8  nsleep   (?, ?) + b4
    d026a6c0  sleep   (?) + 34
    100003a8  main   () + 98
    10000128  __start   () + 8c
    ---------- tid# 43523 ----------
    d0059eb4  _p_nsleep   (?, ?) + 10
    d01f1fc8  nsleep   (?, ?) + b4
    d026a6c0  sleep   (?) + 34
    10000480  PrintHello   (d) + 30
    d004b314  _pthread_body   (?) + ec
    ---------- tid# 36352 ----------
    d0059eb4  _p_nsleep   (?, ?) + 10
    d01f1fc8  nsleep   (?, ?) + b4
    d026a6c0  sleep   (?) + 34
    10000480  PrintHello   (c) + 30
    d004b314  _pthread_body   (?) + ec
    

ファイル

項目 説明
/proc /proc ファイルシステムが入っています。