pstree ピーエスツリー

英語表記pstree

日本語表記プロセスツリー表示

正式名称pstree

危険度安全

What does it mean?

プロセスの親子関係を木構造で表示します。親プロセス、子プロセス、サービスから派生した処理の流れを直感的に追えます。

Command Quest

pstree を今日の道具にする

プロセスの親子関係を木構造で表示します。親プロセス、子プロセ...

$ pstree [オプション] [PID | USER]
関連用語11
次のコマンド0
FAQ2
参照2

概要

プロセスの親子関係を木構造で表示します。親プロセス、子プロセス、サービスから派生した処理の流れを直感的に追えます。

基本構文

pstree [オプション] [PID | USER]

詳細解説

pstreeは、システム上のプロセスを親子関係付きの木構造で表示するコマンドです。psでは一覧で見えても分かりづらい、どこから起動されたのかを視覚的に追いやすくなります。

実務では、あるサービスがどの子プロセスをぶら下げているか、シェルからどの処理が派生したか、監視対象の親子関係に異常がないかを見る時に役立ちます。

ただし、pstreeもPOSIX標準ではなく、パッケージ依存です。最小構成では未導入のことがあります。

このコマンドを使う場面

サービスの親子関係確認、プロセス派生の理解、異常な子プロセスの調査に使います。

まず安全に試す方法

1. sleep 300 &
2. pstree -p $$
3. pstree -s $!

3分ミッション

少しでも手を動かすと定着しやすくなります。終わった項目にチェックを入れてください。

  1. sleepを起動し、pstree -p $$で親子関係を確認します。

オプション

  • -p
    PIDを表示します。
    pstree -p
  • -a
    コマンドライン引数も表示します。
    pstree -a
  • -s PID
    指定PIDまでの親系列を表示します。
    pstree -s 1234
  • -n
    PID順で並べます。
    pstree -n

実行結果サンプル

  • sleep 300 & pstree -p $$
    bash(1234)---sleep(12345)

戻り値コード

  • 0 正常終了。ツリー表示に成功しました。
  • >0 対象PID不存在などで表示できませんでした。

使用例

  • pstree
  • pstree -p
  • pstree -a
  • pstree -s 1234

よくあるエラー

  • pstree: command not foundと表示された
    原因: psmiscが未導入です。
    対処: パッケージ導入有無を確認し、代替としてps --forestも検討します。
  • 同じ名前の枝がまとめられて読みにくい
    原因: 既定では同一サブツリーが簡略化されることがあります。
    対処: -pや-cを併用して詳細を確認します。

導入・互換性情報

pstreeはpsmiscパッケージに含まれることが多く、最小構成では未導入の場合があります。

注意点 / セキュリティリスク

危険度は低いですが、同名サブツリーの省略表現を読み違えると、実数を誤認することがあります。必要に応じて-pや-aを併用します。

FAQ

  • Q. psとの違いは何ですか。
    A. psは一覧表示、pstreeは親子関係を木構造で見る道具です。
  • Q. 障害調査でいつ便利ですか。
    A. 親プロセスが誰か、子プロセスがどこから生まれたかを素早く把握したい時に便利です。

関連用語

  • ユーザー空間
  • システムコール
  • tracing
  • process state
  • zombie process
  • orphan process
  • memory leak
  • deadlock
  • race condition
  • core dump
  • stack trace

参照リンク

関連記事