pstree
多くのコードやひどい構文解析なしで機械が読み取ることができる機械出力の出力を得るための良い方法はありますか?
私は本当にすべてのサブプロセスのリストが欲しい。
編集:特定のユースケース:すべてのサブアイテムをインポートする
> useful_pstree $PID
1010
1012
10101
1013
より一般的なユースケースでは、美しいJSONを得ることができます。
# json_pstree $PID
{ 'pid': 1010,
children: { ...
しかし...私は、コマンドラインからjson構造への再帰を簡単に実行する良い方法を知りません(à la jq
)。
ベストアンサー1
ps
以下は、引数として提供されたプロセスから始まり、サブプロセスから出力を繰り返し出力するシェルスクリプトです。スクリプトにはエラーチェックがないため、ps
必要な出力に応じていくつかのオプションを追加する必要があります。
#!/bin/sh
printps() {
if [ $# -gt 0 ]
then
ps --no-headers $*
for p in $*; do
printps $(cat /proc/$p/task/$p/children)
done
fi
}
printps $1