Averiguar con qué parámetros se inició un programa

8

¿Hay alguna manera de averiguar para un proceso dado con qué parámetros se inició?

Pieter
fuente

Respuestas:

5

Para encontrar qué argumentos se pasaron a pdnsd, haría:

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

(las cmdlineentradas de archivo están separadas por caracteres nulos; use algo como tr '\0' '\n' </proc/<pid>/cmdlinepara ver una salida más legible).

/proc/<pid>/ contiene mucha información

agn
fuente
Tenga en cuenta que la línea de comandos puede ser sobrescrito por el propio programa; ciertas piezas de software hacen esto por razones benignas, generalmente para poner información útil legible por humanos en la pssalida, pero también por razones malignas como un exploit o rootkit que intenta ocultarse.
Shadur
Demasiado complejo. ¿Por qué no solo pgrep -a pdnsd?
user1404316
4

Para Linux, ps -efproduce la línea de comando completa, incluidos los parámetros.

Para Solaris, las cosas podrían ser más problemáticas, pero etiquetó la pregunta con Linux ...

Alain Pannetier
fuente