マスター スクリプトによって呼び出されるすべてのスクリプトを (再帰的に) リストします。例:
master.sh
a.sh >> this script calls a1.sh, a2.sh, a3.sh etc
b.sh >> this one calls b1.sh, b2.sh, something.sh, etc.sh..
c.sh > similarly.
これはスクリプトの tree コマンドに似ています。
出力は次のようになります
master.sh
-a.sh
|- a1.sh
|-something.sh
|-something_else.sh
-a2.sh
|-x.sh
|-y.sh
-a3.sh
...
答え1
これを行う最良の方法は ですpstree
。これは、実行中のすべてのプロセスをわかりやすいツリー形式で一覧表示します。-H
オプションを使用して、特定のコマンド(ピッド)。以下の例では、pgrep
の PID を取得するために を使用していますmaster.sh
。
pstree -H `pgrep master.sh` |grep -A 2 master.sh
|-bash---master.sh-+-a1.sh---something.sh
| |-a2.sh
| |-a3.sh
コマンドps
は必要なことも実行できます。ps
コマンドはすべておいしいコーヒーを淹れること以外は:
ps xjf
master.sh
これにより、(実際には)によって起動されたすべてのプロセスがリストされます。全てプロセス( によって起動されたものを含むmaster.sh
)をツリー形式で表示します。
\_ master.sh
| \_ a1.sh
| \_ something.sh
| \_ something.sh
| \_ a2.sh
| \_ a3.sh
ここでは関連する出力のみを示していますが、上記のコマンドでは、PID、プロセス ステータスなど、その他のさまざまな情報も提供されます。