0

私はDebianスクイーズの下で実行しており、非常に特定の形式でプロセスリストを取得する必要があります。プロセスは次の方法で開始されます。

/$script -- $param

以下、$ scriptを「test.sh」と呼ぶので、次のようになります。

/test.sh -- 99

これらすべてのプロセスのpidリストと最初のargvパラメーターを見つける必要があります(常にargvパラメーターは1つだけです)。

$ pid | $ argv

psはフラグ-oを使用してプロセスリストをユーザー形式で出力できることがわかりました。しばらくの間、私の解決策は次のとおりです。 ps -C script.sh -o pid,command=、これは次を返します。

6660 /bin/sh /var/www/test.sh -- 15
7012 /bin/sh /var/www/test.sh -- 18
7041 /bin/sh /var/www/test.sh -- 19
7541 /bin/sh /var/www/test.sh -- 16
7741 /bin/sh /var/www/test.shq -- 1

どういうわけか、この出力を次のように表示することは可能ですか?

6660 15
7012 18
7041 19
7541 16
7741 1
4

1 に答える 1

0

カットするパイプはトリックを行う必要があります:

ps -C script.sh -o pid,command= | cut -d' ' -f 1,5
于 2013-02-09T14:05:50.927 に答える