pstree を使用して実行中の Linux プロセスをツリーとして表示する方法

Linux を使用している場合、システム上で現在実行中のプロセスを表示するために ps、top、または htop を使用したことがあるでしょう。これらのプログラムは便利ですが、プロセス間の関係は示されません。

pstree は、Linux プロセスをツリーとして視覚化するプログラムです。Linux にインストールして使用する方法を以下に示します。

pstree とは

pstree は、プロセスをツリーのような構造で表示するプログラムです。親プロセスは「幹」で、子プロセスは枝です。

pstree を初めて使用すると、Linux プロセスの仕組みが明らかになります。すべての Linux プロセスには init プロセスがあり、ほとんどの主要なメインストリームディストリビューションでは systemd が共通の祖先です。

Linux に pstree をインストールする方法

pstree は非常に便利なユーティリティであるため、システムにすでにインストールされている可能性があります。実行しようとするとインストールされていない場合は、パッケージマネージャーから入手できます。これは、psmisc ユーティリティスイートの一部です。

Debian と Ubuntu にインストールするには、次のように入力します。

sudo apt install psmisc

Arch Linux に pstree をインストールするには、次のようにします。

sudo pacman -S psmisc

Red Hat 系のディストリビューションでは、次のようにします。

sudo dnf install psmisc

pstree を使用して Linux プロセスをツリーとして表示する

pstree の実行は簡単です。コマンドラインにpstreeと入力するだけです。システムで実行されているすべてのプロセスのツリーが表示されます。

引数としてユーザー名を指定すると、そのユーザーが所有するすべてのプロセスが表示されます。たとえば、スーパーユーザーのプロセスのツリーを表示するには、次のようにします。

pstree root

他の多くの Linux プログラムと同様に、pstree にはコマンドラインオプションがあります。-pオプションを使用して、プロセスの PID を表示できます。

pstree -p

現在のプロセス、つまり現在のシェルをハイライトするには、-hオプションを使用します。

pstree -h

-H(大文字のH)オプションの後に PID 番号を指定すると、特定の PID をハイライトできます。

pstree -H [PID]

-Cオプションの後に年齢の値を指定すると、プロセスの年齢のカラーコード付き表現を取得できます。これは、現在このオプションが受け取る唯一の引数です。

過去 60 秒以内に生成されたプロセスは緑色で表示されます。同様に、黄色は 1 時間前に開始されたプロセスを表します。残りのプロセスは赤色になります。

pstree -C age

これで、Linux プロセスの関連性がわかります

pstree は、その名のとおり、実行中の Linux プロセスの階層的なツリーのようなビューを提供します。プロセスが init プロセスからどのように派生しているかを確認でき、さまざまなオプションを使用してビューをカスタマイズできます。

Linux の procfs を使用すると、ファイルシステムから直接 Linux プロセスの情報を確認することもできます。