pstree コマンドは、プロセスの階層リストをツリー形式で表示します。 pstree は、親子プロセスの関係がどのように設定されているかを理解するのに非常に便利です。
PID が指定されている場合、表示されるツリーはそのプロセスをルートとします。それ以外の場合は、PID 1 を持つ init プロセスをルートとします。ユーザー (有効なユーザー名) を指定すると、ユーザーが所有するすべてのプロセスのツリーが表示されます。ツリーは、| などの線として表示される文字を使用して表されます。垂直線には + 、交点には + (ほとんどの端末で実線として表示される VT100 の線画文字はオプションです)。
コマンドは、オプションを指定せずに実行できます。
$ pstree
プロセスのツリーとその PID を表示するには、-p スイッチを使用します。
# pstree -p
init(1)-+-atd(468)
|-bdflush(5)
|-crond(454)
|-httpd(440)-+-httpd(450)
| |-httpd(451)
| |-httpd(452)
| |-httpd(453)
| |-httpd(455)
| |-httpd(456)
| |-httpd(457)
| '-httpd(458)
|-keventd(2)
|-kjournald(7)
|-klogd(335)
|-ksoftirqd_CPU0(3)
|-kswapd(4)
|-kupdated(6)
|-login(475)---bash(478)---pstree(518)
|-sendmail(420)
|-sshd(385)
|-syslogd(330)
'-xinetd(402) pstree コマンドの実行中に以下のエラーが発生した場合:
pstree: command not found
ディストリビューションの選択に応じて、以下に示すようにパッケージをインストールしてみてください。
| 分布 | コマンド |
|---|---|
| OS X | brew install pstree |
| Debian | apt-get インストール psmisc |
| Ubuntu | apt-get インストール psmisc |
| アルパイン | apk add psmisc |
| Arch Linux | pacman -S psmisc |
| カリ Linux | apt-get インストール psmisc |
| CentOS | yum install psmisc |
| Fedora | dnf インストール psmisc |
| Raspbian | apt-get インストール psmisc |
pstree コマンドの例
1. プロセスのツリーを表示します:
# pstree
2. PID を含むプロセスのツリーを表示します:
# pstree -p
3. 指定したユーザーが所有するプロセスをルートとするすべてのプロセス ツリーを表示します。
# pstree user