Search code examples
bashpidps

ps aux | grep returns pid for itself too


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


Solution

  • 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}'