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


8

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

Ответы:


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>/ содержит много информации.


Обратите внимание, что командная строка может быть перезаписана самой программой; определенные части программного обеспечения делают это по добрым причинам, обычно для вывода полезной для восприятия человеком информации в psвывод, но также и по злым причинам, таким как эксплойт или руткит, пытающийся скрыть себя.
Шадур

Слишком сложно. Почему не просто pgrep -a pdnsd?
user1404316

4

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

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

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.