¿Es posible tomar la línea de comando que se usó para invocar un proceso en Mac OS X?
ps -p <pid> -o args=
ps -p <pid> -o command=
¿Es posible tomar la línea de comando que se usó para invocar un proceso en Mac OS X?
ps -p <pid> -o args=
ps -p <pid> -o command=
Respuestas:
ps ax
le muestra la línea de comando de todos los procesos en ejecución; puedes buscar el pid que quieras.
Hace:
~$ ps ax | grep "ntp"
57 ?? Ss 0:04.66 /usr/sbin/ntpd -c /private/etc/ntp.conf -n
3104 s000 S+ 0:00.00 grep ntp
hacer lo que necesita (cambiar ntp al programa que le interesa)? Por lo general, esto me da los argumentos de la línea de comandos de los procesos en ejecución (por ejemplo, utilizo para verificar lo que Launchd usó al ejecutar un demonio del sistema).
cat /proc/$PROCESSNUMBER/cmdline | tr '\0' '\n'
Aunque es específico de Linux, obtiene la línea de comandos del proceso numerada $PROCESSNUMBER
directamente desde el núcleo (la /proc/$PROCESSNUMBER/cmdline
parte) y la hace legible colocando cada argumento en una línea separada traduciendo (con tr -token
reemplazo) los \ 0 en líneas nuevas (\ n).
¡Esta línea solo funciona si coloca un número de proceso real de un proceso en ejecución (puede encontrar uno ejecutando el comando ps -ef
) en la parte $ PROCESSNUMBER!
procfs
)
xargs -0 < /proc/PID/cmdline
ps --pid $PID -o args=
Eso es lo que uso, de todos modos ...