I have cobbled together a command to return the process ID of a running daemon:
ps aux | grep daemon_name | awk "{ print \$2 }"
It works perfectly and returns the PID, but it also returns a second PID which is presumably the process I'm running now. Is there a way I can exclude my command from the list of returned PIDs?
I've tested it a few times and it appears my command is always the second PID in the list, but I don't want to grab just the first PID in case it's inaccurate.
Best Answer
grep's
-v
switch reverses the result, excluding it from the queue. So make it like:Upd. You can also use
-C
switch to specify command name like so:The latter
-o
determines which columns of the information you want in the listing.pid
lists only the process id column. And the equal sign=
afterpid
means there will be no column title for that one, so you get only the clear numbers - PID's.Hope this helps.