Выяснить, с какими параметрами была запущена программа

8

Есть ли способ узнать для какого-либо данного процесса, с какими параметрами он был запущен?

Pieter
источник

Ответы:

5

Чтобы узнать, какие аргументы были переданы pdnsd, я бы сделал:

[~]> pgrep -l pdnsd
1373 pdnsd
[~]> cat /proc/1373/cmdline 
/usr/sbin/pdnsd--daemon-p/var/run/pdnsd.pid[~]> 

( cmdlineЗаписи файла разделены нулевыми символами; используйте что-то вроде, tr '\0' '\n' </proc/<pid>/cmdlineчтобы увидеть более четкие выходные данные.)

/proc/<pid>/ содержит много информации.

AGN
источник
Обратите внимание, что командная строка может быть перезаписана самой программой; определенные части программного обеспечения делают это по добрым причинам, обычно для вывода полезной для восприятия человеком информации в psвывод, но также и по злым причинам, таким как эксплойт или руткит, пытающийся скрыть себя.
Шадур
Слишком сложно. Почему не просто pgrep -a pdnsd?
user1404316
4

Для Linux ps -ef выдает всю командную строку, включая параметры.

Для Solaris все может быть более проблематично, но вы пометили вопрос с Linux ...

Ален Паннетье
источник