Descobrindo com quais parâmetros um programa foi iniciado

8

Existe uma maneira de descobrir para qualquer processo determinado com quais parâmetros ele foi iniciado?

Pieter
fonte

Respostas:

5

Para descobrir quais argumentos foram passados ​​para o pdnsd, eu faria:

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

( cmdlineas entradas de arquivo são separadas por caracteres nulos; use algo como tr '\0' '\n' </proc/<pid>/cmdlinepara ver uma saída mais legível.)

/proc/<pid>/ contém muita informação.

agn
fonte
Observe que a linha de comando pode ser substituída pelo próprio programa; certas peças de software fazem isso por razões benignas, geralmente para colocar informações úteis legíveis por humanos na pssaída, mas também por razões malignas, como uma exploração ou um rootkit tentando se esconder.
Shadur
Muito complexo. Por que não apenas pgrep -a pdnsd?
user1404316
4

Para Linux, ps -efgera toda a linha de comandos, incluindo os parâmetros.

Para o Solaris, as coisas poderiam ser mais problemáticas, mas você marcou a pergunta com o Linux ...

Alain Pannetier
fonte