Linux,プロセスをツリー形式で表示(確認)する方法

スポンサーリンク

鍛錬 444

Linux,プロセスをツリー形式で表示(確認)する方法

プロセスをツリー形式で表示(確認)するには、pstree を使用します。
 
使用方法は、以下に示す通りです。

全てのプロセスをツリー形式で表示

pstree

 
プロセスID(PID)を指定してツリー形式で表示

pstree プロセスID

オプション

以下は、オプションの一部です。

オプション 機能
p プロセスIDも一緒に表示する
A ツリーをASCII文字で表示する
スポンサーリンク

シェルスクリプト

以下は、今回サンプルとして使用するシェルスクリプト、sample.sh です。

2つのsleepをバックグラウンドで起動後に、シェルスクリプト自身もsleepで待機します。

#!/bin/bash

# コマンドsleepをバックグラウンドで実行(1つ目)
sleep 300s &

# コマンドsleepをバックグラウンドで実行(2つ目)
sleep 300s &

# コマンドsleepを実行
sleep 600s
スポンサーリンク

実行結果

以下は、pstree の挙動を確認しています。

プロセスIDを指定してツリー形式で表示する

以下は、シェルスクリプト sample.sh をバックグラウンドで実行後に、プロセスIDを指定してプロセスをツリー形式で表示しています。

関連記事:Linux,プログラム名を指定してプロセスID(PID)を取得

***@ubuntu:~/***/test/shell$ 
***@ubuntu:~/***/test/shell$ ./sample.sh &
[1] 2961
***@ubuntu:~/***/test/shell$ 
***@ubuntu:~/***/test/shell$ 
***@ubuntu:~/***/test/shell$ ps -C sample.sh
   PID TTY          TIME CMD
  2961 pts/0    00:00:00 sample.sh
***@ubuntu:~/***/test/shell$ 
***@ubuntu:~/***/test/shell$ 
***@ubuntu:~/***/test/shell$ pstree -p 2961
sample.sh(2961)─┬─sleep(2962)
                ├─sleep(2963)
                └─sleep(2964)

 
上記に示した通り、sample.sh が起動している3つの sleep をツリー形式で表示することができました。

ASCII文字のツリー形式で表示する

以下は、シェルスクリプト sample.sh をバックグラウンドで実行後に、プロセスIDを指定してプロセスをASCII文字のツリー形式で表示しています。

***@ubuntu:~/***/test/shell$ 
***@ubuntu:~/***/test/shell$ ./sample.sh &
[1] 3034
***@ubuntu:~/***/test/shell$ 
***@ubuntu:~/***/test/shell$ 
***@ubuntu:~/***/test/shell$ ps -C sample.sh
   PID TTY          TIME CMD
  3034 pts/0    00:00:00 sample.sh
***@ubuntu:~/***/test/shell$ 
***@ubuntu:~/***/test/shell$ 
***@ubuntu:~/***/test/shell$ pstree -Ap 3034
sample.sh(3034)-+-sleep(3035)
                |-sleep(3036)
                `-sleep(3037)

 
上記に示した通り、プロセスをASCII文字のツリー形式で表示することができました。

タイトルとURLをコピーしました