How to get command line of UNIX process?
Solution 1
ps ax
shows you the command line of all running processes; you can grep for the pid you want.
Solution 2
Does:
~$ ps ax | grep "ntp"
57 ?? Ss 0:04.66 /usr/sbin/ntpd -c /private/etc/ntp.conf -n
3104 s000 S+ 0:00.00 grep ntp
do what you need it to (change ntp to the program you are interested in)? This usually gives me the command-line arguments of running processes (I use to check what Launchd used when running a system daemon for example).
Solution 3
cat /proc/$PROCESSNUMBER/cmdline | tr '\0' '\n'
Allthough it's Linux specific, it gets the commandline of process numbered $PROCESSNUMBER
straight from the kernel (the /proc/$PROCESSNUMBER/cmdline
part) and makes it readable by putting each argument on a separate line by translating (with tr -token
replace) the \0's into newlines (\n).
This line only works if you put a real processnumber of a running process (you can find one by running the command ps -ef
) in the $PROCESSNUMBER part!
Related videos on Youtube
user7656
Updated on September 17, 2022Comments
-
user7656 over 1 year
Is it possible to grab the command line that was used to invoke a process on Mac OS X?
-
yar almost 13 years
ps --pid $PID -o args=
That's what I use, anyway... -
Nate about 11 yearsThe Mac equivalent of that command is:
ps -p <pid> -o args=
-
Jose Alban almost 7 yearsif "-o args=" truncates the output, you can try
ps -p <pid> -o command=
-
-
JJ_Australia almost 13 yearsWhy does this happen every week? "Warning: bad ps syntax, perhaps a bogus '-'? See procps.sf.net/faq.html" and "Note that "ps -aux" is distinct from "ps aux". The POSIX and UNIX standards require that "ps -aux" print all processes owned by a user named "x", as well as printing all processes that would be selected by the -a option. If the user named "x" does not exist, this ps may interpret the command as "ps aux" instead and print a warning. This behavior is intended to aid in transitioning old scripts and habits. It is fragile, subject to change, and thus should not be relied upon."
-
Bkkbrad almost 13 yearsI don't know, Hello71. I corrected my two-year-old answer for you.
-
Andre Holzner about 12 yearsThe original poster asked for Mac OS X (which out of the box does not have
procfs
) -
Bash over 11 yearsOr
xargs -0 < /proc/PID/cmdline