Is there a way to find out for any given process with which parameters it was started?
2 Answers
To find what arguments were passed to pdnsd, I'd do:
[~]> pgrep -l pdnsd
1373 pdnsd
[~]> cat /proc/1373/cmdline
/usr/sbin/pdnsd--daemon-p/var/run/pdnsd.pid[~]>
(cmdline
file entries are separated by null characters; use something like tr '\0' '\n' </proc/<pid>/cmdline
to see more legible output.)
/proc/<pid>/
contains a lot of information.
-
Note that the command line can be overwritten by the program itself; certain pieces of software do this for benign reasons, usually to put useful human-readable information in the
ps
output, but also malign reasons like an exploit or rootkit trying to hide itself. Commented Jun 8, 2011 at 9:56 -
For Linux, ps -ef
yields the whole command line including the parameters.
For Solaris, things could be more problematic but you tagged the question with Linux...