ps aux | grep returns pid for itself too

BryanK picture BryanK · Sep 29, 2013 · Viewed 19.9k times · Source

I am using this command to get the process ID of another command:

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

This will return two PIDs:

7731
22125

I only want the first one. The second is the PID for grep in the above command. Thanks in advance to any one who knows how to alter the above command to return just the first pid.

p.s. open to a new command that does the same thing

Answer

Ry- picture Ry- · Sep 29, 2013

In this particular case, escaping the . to what I assume it was meant to do should work:

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

Alternatively, exclude grep:

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