「どのプロセスが何を起動しているのか、構造を一目で確認したい」
pstree コマンドを使うと、Linuxで動作中のプロセスをツリー形式で視覚的に確認できます。障害調査時やプロセスの依存関係の確認に非常に役立つコマンドです。
この記事では、
pstree コマンドの基本的な使い方から主要オプション、実務での活用方法まで解説します。・pstreeでプロセスの親子関係をツリー形式で一覧確認できる
・-pオプションでPID付き表示、-aオプションでコマンド引数も表示できる
・psコマンドとの使い分け:構造確認はpstree、フィルタリングはpsコマンドが向いている
でも安心してください。プロのエンジニアはコマンドを暗記していません。
「現場で使える型」を効率よく使いこなしているだけです。
pstreeコマンドとは?プロセスツリーの仕組み
pstree は、Linuxで動作中のプロセスをツリー形式(木構造)で表示するコマンドです。Linuxのプロセスは必ず「親プロセス」から「子プロセス」が起動する階層構造になっています。
pstree を使うと、どのプロセスがどのプロセスを起動しているかが一目でわかります。最も上位のプロセスは
systemd(旧init)です。全てのプロセスは最終的に
systemd(PID=1)の子孫として動作しています。基本的な使い方
1. プロセスツリーを表示する
$ pstree systemd-+-NetworkManager-+-dhclient | `-2*[{NetworkManager}] |-atd |-auditd---{auditd} |-crond |-sshd---sshd---sshd---bash---pstree |-httpd-+-5*[httpd]
・
-+-:親プロセスが複数の子プロセスを持つ・
|:同じ親プロセスの兄弟プロセスを示す・
2*[...]:同じ名前のプロセスが2つあることを示す2. PIDも一緒に表示する(-p)
$ pstree -p systemd(1)-+-NetworkManager(765)-+-dhclient(1234) | `-{NetworkManager}(1001) |-sshd(1024)-+-sshd(2345)---bash(2346)---pstree(3456)
kill コマンドで特定プロセスを終了させる際に便利です。3. コマンド引数も表示する(-a)
$ pstree -a systemd |-sshd -D |-httpd -DFOREGROUND | `-5*[httpd -DFOREGROUND]
4. 特定ユーザーのプロセスだけ表示する
# ユーザー名を指定して表示する $ pstree tomohiro # PID指定で表示する $ pstree 1234
応用・実務Tips
1. psコマンドとの使い分け
・pstree:プロセスの親子関係・起動構造を確認したい場合・
ps aux:全プロセスの詳細情報(CPU・メモリ使用率)を確認したい場合・
ps aux | grep プロセス名:特定のプロセスを検索する場合2. プロセスの起動元を追跡する
予期せぬプロセスが動いている場合、pstree -p で親プロセスを確認することで、「何が起動したプロセスか」を素早く特定できます。
# PID付きでプロセスツリーを確認する $ pstree -ap # 特定のプロセスIDの上位構造を確認する $ pstree -p 1234
トラブルシュート
「pstreeコマンドが見つからない」場合
pstree は psmisc パッケージに含まれます。インストールされていない場合は以下でインストールしてください。
# RHEL/CentOS/AlmaLinux の場合 $ sudo dnf install psmisc # Ubuntu/Debian の場合 $ sudo apt install psmisc
本記事のまとめ
| やりたいこと | コマンド |
|---|---|
| プロセスをツリー表示する | pstree |
| PID付きでツリー表示する | pstree -p |
| コマンド引数付きで表示する | pstree -a |
| 特定ユーザーのプロセスを表示する | pstree ユーザー名 |
| PIDを指定してツリー表示する | pstree -p PID |
プロセス管理を体系的に学んで、Linuxサーバーの障害対応を素早く行えるようになりたいですか?
プロセスの構造を理解すると、障害の原因特定と対処が格段に速くなります。
ネットの切れ端の情報をコピペするだけでなく、現場で通用する安全なLinuxサーバー構築の「型」を体系的に身につけたい方へ、『Linuxサーバー構築入門マニュアル(図解60P)』を完全無料でプレゼントしています。
「独学の時間がもったいない」「プロから直接、現場の技術を最短で学びたい」という本気の方には、2日で実務レベルのスキルが身につく【初心者向けハンズオンセミナー】も開催しています。
3,100名以上が実践した「型」を無料で公開中
プロのエンジニアはコマンドを暗記していません。
「現場で使える型」を効率よく使いこなしているだけです。
その「型」を図解60Pにまとめた入門マニュアルを、完全無料でプレゼントしています。
登録10秒/合わなければ解除3秒 / 詳細はこちら
- 次のページへ:runlevelコマンドでLinuxのランレベルを確認する方法|systemdのtargetとの対応も
- 前のページへ:LinuxのOSバージョンを確認するコマンド|uname・os-release・hostnamectlの使い方
- この記事の属するカテゴリ:Linuxコマンド・システム管理コマンドへ戻る

無料メルマガで学習を続ける
Linuxの実践スキルをメールで毎週お届け。
登録は1分、解除もいつでも可。
登録無料・いつでも解除できます