utte

pstree プロセスの親子関係を木の形で表示する

pstree [オプション] [PIDまたはユーザー名]

試してみる

主なオプション

-pPIDを表示する
-aコマンドラインの引数も表示する
-uユーザーが変わるところで、ユーザー名を表示する
-s指定したプロセスの親をさかのぼって表示する
-n名前ではなく PID の順に並べる
-h現在のプロセスとその親を強調して表示する

解説

親子関係が一目で分かる

プロセスは、別のプロセスから起動されます。起動したほうが親、されたほうが子です。ps -ef では PPID の列からたどりますが、pstree なら木の形で見られます。たとえば、ログインシェルがさらに別のコマンドを起動している様子が、枝分かれとして見えます。

同じ名前のプロセスはまとまる

同じ名前の子が並ぶとき、pstree は 3*[sleep] のように、まとめて表示します。個別に見たいときは -p を付けると、PID が出て別々に表示されます。

最初のプロセス

木の根は、カーネルが最初に起動するプロセス(PID 1)です。一般的な Debian や CentOS では systemd です。以前は init でした。このページのターミナルでは、簡易の init-min が最初のプロセスです。

ps –forest との違い

ps -ef --forest も木の形で表示できますが、pstree はより簡潔に、全体の構造をつかむのに向いています。ほかのプロセスを終了させる前に、子プロセスを持っていないか確かめるときにも使えます。

関連するコマンド

LinuC 101の出題範囲