web-dev-qa-db-ja.com

ps aux | grepはそれ自体もpidを返します

このコマンドを使用して、別のコマンドのプロセスIDを取得しています。

ps aux | grep 7000.conf | awk '{print $2}'

これにより、2つのPIDが返されます。

7731
22125

私は最初のものだけが欲しいです。 2つ目は、上記のコマンドのgrepのPIDです。上記のコマンドを変更して最初のpidだけを返す方法を知っている人に事前に感謝します。

p.s.同じことを行う新しいコマンドを開く

12
BryanK

この特定のケースでは、.を本来の目的にエスケープすることで機能するはずです。

ps aux | grep '7000\.conf' | awk '{print $2}'

または、grepを除外します。

ps aux | grep 7000.conf | grep -v grep | awk '{print $2}'
18
Ry-

ps aux | grep "[7]000.conf"も同様に機能します。

5
user2599522