¿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 axle 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 $PROCESSNUMBERdirectamente desde el núcleo (la /proc/$PROCESSNUMBER/cmdlineparte) y la hace legible colocando cada argumento en una línea separada traduciendo (con tr -tokenreemplazo) 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 ...