Linuxコマンド辞典 pstreeコマンド(プロセス管理)

プロセスをツリー形式で表示する「pstree」コマンドの概要と使い方を記載しています。

RHEL Fedora CentOS Vine Deblan Ubuntu Plamo

参考サイト:Man page of INSTALL

概要・使用方法

稼働しているプロセスをツリー形式で表示します。プロセスIDを引数にした場合は、そのプロセスを起点として起動された子プロセスをツリー表示します。

書式

$ pstree[オプション] [プロセスID | ユーザ名]

オプション

-a,
–arguments
プロセスに与えられているコマンドライン引数も表示する
-c,
–compact
「コンパクト」形式で表示しない。例えばgettyの子プロセスが6つあった場合、デフォルトでは「6*[getty]」のように表示するが、
このオプションの場合はすべてツリーの枝として表示される。
-l,
–long
デフォルトでは132文字の幅で出力するために末尾を「・・・」で省略するが、このオプションでは省略せずにすべて出力する
-n,
–numeric-sort
プロセス名ではなくプロセスIDで並び替える
-g,
–show-pgids
プロセスグループIDも併せて表示する
-p,
–show-pids
プロセスIDも併せて表示する
-u,
–uid-changes
ユーザーIDを表示する
-A,
–ascii
ASCII文字を使ってツリー形式で表示する
-G,
–vt100
端末をVT100で利用するものとして出力する
-ZSELinuxのセキュリティコンテキストを表示する

プロセスをツリー表示する

$ pstree

実行結果

[suna@localhost ~]$ pstree
systemd─┬─ModemManager───2*[{ModemManager}]
        ├─NetworkManager───2*[{NetworkManager}]
        ├─accounts-daemon───2*[{accounts-daemon}]
        ├─alsactl
        ├─at-spi-bus-laun─┬─dbus-daemon
        │                 └─3*[{at-spi-bus-laun}]
  ・
 ・
 ・
        ├─gssproxy───5*[{gssproxy}]
        ├─httpd─┬─httpd
        │       ├─httpd───80*[{httpd}]
        │       └─3*[httpd───64*[{httpd}]]
 ・
 ・
 ・

引数も共にプロセスツリーで表示する

$ pstree -pa  プロセスID

実行結果

[suna@localhost ~]$  pstree -pa 3006|head -n 10
httpd,3006 -DFOREGROUND
  |-httpd,694188 -DFOREGROUND
  |-httpd,694189 -DFOREGROUND
  |   |-{httpd},694192
  |   |-{httpd},694193
  |   |-{httpd},694194
  |   |-{httpd},694195
  |   |-{httpd},694196
  |   |-{httpd},694197
  |   |-{httpd},694198
[suna@localhost ~]$ 

プロセスIDとユーザーIDを併せてプロセスツリーを表示する

$ pstree -pau  プロセスID

実行結果

[suna@localhost ~]$  pstree -pau 3006|head -n 10
httpd,3006 -DFOREGROUND
  |-httpd,694188,apache -DFOREGROUND
  |-httpd,694189,apache -DFOREGROUND
  |   |-{httpd},694192
  |   |-{httpd},694193
  |   |-{httpd},694194
  |   |-{httpd},694195
  |   |-{httpd},694196
  |   |-{httpd},694197
  |   |-{httpd},694198

引数をすべて表示する

$ pstree -alcp プロセスID
$ pstree -acp プロセスID

実行結果

[sunarin@localhost ~]$  pstree -alcp 11806|head -n 10
mysqld,11806 --daemonize --pid-file=/var/run/mysqld/mysqld.pid
  |-{mysqld},11807
  |-{mysqld},11808
  |-{mysqld},11809
  |-{mysqld},11810
  |-{mysqld},11811
  |-{mysqld},11812
  |-{mysqld},11813
  |-{mysqld},11814
  |-{mysqld},11815
[sunarin@localhost ~]$  pstree -acp 11806|head -n 10
mysqld,11806 --daemonize --pid-file=/var/run/mysqld/mysqld.pid
  |-{mysqld},11807
  |-{mysqld},11808
  |-{mysqld},11809
  |-{mysqld},11810
  |-{mysqld},11811
  |-{mysqld},11812
  |-{mysqld},11813
  |-{mysqld},11814
  |-{mysqld},11815