É possível pegar a linha de comando usada para invocar um processo no Mac OS X?
ps -p <pid> -o args=
ps -p <pid> -o command=
É possível pegar a linha de comando usada para invocar um processo no Mac OS X?
ps -p <pid> -o args=
ps -p <pid> -o command=
Respostas:
ps ax
mostra a linha de comando de todos os processos em execução; você pode receber o pid que desejar.
Faz:
~$ 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
faça o que você precisa (mude o ntp para o programa em que está interessado)? Isso geralmente me fornece os argumentos da linha de comando dos processos em execução (eu uso para verificar o que o Launchd usou ao executar um daemon do sistema, por exemplo).
cat /proc/$PROCESSNUMBER/cmdline | tr '\0' '\n'
Embora seja específico do Linux, ele obtém a linha de comando do processo numerada $PROCESSNUMBER
diretamente do kernel (a /proc/$PROCESSNUMBER/cmdline
parte) e a torna legível, colocando cada argumento em uma linha separada, traduzindo (com tr -token
substituição) os \ 0's para novas linhas (\ n).
Esta linha só funciona se você colocar um número de processo real de um processo em execução (você pode encontrar um executando o comando ps -ef
) na parte $ PROCESSNUMBER!
procfs
) #
xargs -0 < /proc/PID/cmdline
ps --pid $PID -o args=
Isso é o que eu uso, de qualquer maneira ...