pstreeコマンドでLinuxのプロセスをツリー形式で確認する方法|-pや-aオプションの使い方も

宮崎智広 この記事の監修:宮崎智広(Linux実務・教育歴20年以上・受講者3,100名超)
HOMELinux技術 リナックスマスター.JP(Linuxマスター.JP)LinuxコマンドLinuxコマンド, システム管理コマンド > pstreeコマンドでLinuxのプロセスをツリー形式で確認する方法|-pや-aオプションの使い方も
「psコマンドでは、プロセスの親子関係が分かりにくい」
「どのプロセスが何を起動しているのか、構造を一目で確認したい」
pstree コマンドを使うと、Linuxで動作中のプロセスをツリー形式で視覚的に確認できます。
障害調査時やプロセスの依存関係の確認に非常に役立つコマンドです。

この記事では、pstree コマンドの基本的な使い方から主要オプション、実務での活用方法まで解説します。
【この記事でわかること】
・pstreeでプロセスの親子関係をツリー形式で一覧確認できる
・-pオプションでPID付き表示、-aオプションでコマンド引数も表示できる
・psコマンドとの使い分け:構造確認はpstree、フィルタリングはpsコマンドが向いている

「このままじゃマズい」と感じていませんか?
参考書を開く気力もない、同年代に取り残される不安——
でも安心してください。プロのエンジニアはコマンドを暗記していません。
「現場で使える型」を効率よく使いこなしているだけです。
図解60P/登録10秒/解除も3秒 / 詳細はこちら

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)

PIDが付くと、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コマンドが見つからない」場合

pstreepsmisc パッケージに含まれます。
インストールされていない場合は以下でインストールしてください。

# 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日で実務レベルのスキルが身につく【初心者向けハンズオンセミナー】も開催しています。

無料メルマガで学習を続ける

Linuxの実践スキルをメールで毎週お届け。
登録は1分、解除もいつでも可。

登録無料・いつでも解除できます

暗記不要・1時間後にはサーバーが動く

3,100名以上が実践した「型」を無料で公開中

プロのエンジニアはコマンドを暗記していません。
「現場で使える型」を効率よく使いこなしているだけです。
その「型」を図解60Pにまとめた入門マニュアルを、完全無料でプレゼントしています。

登録10秒/合わなければ解除3秒 / 詳細はこちら

Linux無料マニュアル(図解60P) 名前とメールで30秒登録
宮崎 智広

この記事を書いた人

宮崎 智広(みやざき ともひろ)

株式会社イーネットマーキュリー代表。現役のLinuxサーバー管理者として15年以上の実務経験を持ち、これまでに累計3,100名以上のエンジニアを指導してきたLinux教育のプロフェッショナル。「現場で本当に使える技術」を体系的に伝えることをモットーに、実践型のLinuxセミナーの開催や無料マニュアルの配布を通じてLinux人材の育成に取り組んでいる。

趣味は、キャンプにカメラ、トラウト釣り。好きな食べ物は、ラーメンにお酒。休肝日が作れない、酒量を減らせないのが悩み。最近、ドラマ「フライトエンジェル」を観て涙腺が崩壊しました。