0

pstree使用しているpidのセットで実行したいps

ps -aux | grep ^username | awk '{pstree $2}'

残念ながら、出力は空ですがpstree、同じ pid を使用してコマンドを手動で実行すると、目的の出力が得られます。コマンドの何が問題になっていawkますか? または、他の方法で目的の結果を達成するにはどうすればよいですか?

4

3 に答える 3

3

試す

  ps -aux | grep ^username | awk '{print $2}' | xargs pstree

(そのまま、pstree は空の変数値です)

これは次のように要約できます。

ps -aux |  awk '/^username/{print $2}' | xargs pstree

IHTH

于 2013-12-06T14:02:23.617 に答える
2

systemで関数を使用しますawkgrepまた、ここも必要ありません

ps -aux | awk '$1=="username"{system("pstree $2")}'
于 2013-12-06T14:02:23.003 に答える
1

system次のように awk で関数を使用します。

awk '{system("pstree " $2)}'

コマンドを次のように短縮できます。

ps -aux | awk ' /^username/ { system("pstree " $2) }'
于 2013-12-06T14:02:15.073 に答える