È possibile prendere la riga di comando che è stata utilizzata per richiamare un processo su Mac OS X?
ps -p <pid> -o args=
ps -p <pid> -o command=
È possibile prendere la riga di comando che è stata utilizzata per richiamare un processo su Mac OS X?
ps -p <pid> -o args=
ps -p <pid> -o command=
Risposte:
ps ax
mostra la riga di comando di tutti i processi in esecuzione; puoi grep per il pid che desideri.
fa:
~$ 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
fai quello di cui hai bisogno (cambia ntp nel programma che ti interessa)? Questo di solito mi dà gli argomenti della riga di comando dei processi in esecuzione (io uso per controllare cosa ha usato Launchd quando ad esempio esegue un demone di sistema).
cat /proc/$PROCESSNUMBER/cmdline | tr '\0' '\n'
Sebbene sia specifico di Linux, ottiene la riga di comando del processo numerata $PROCESSNUMBER
direttamente dal kernel (la /proc/$PROCESSNUMBER/cmdline
parte) e la rende leggibile inserendo ogni argomento su una riga separata traducendo (con tr -token
sostituzione) gli \ 0 in newline (\ n).
Questa riga funziona solo se inserisci un numero di processo reale di un processo in esecuzione (puoi trovarne uno eseguendo il comando ps -ef
) nella parte $ PROCESSNUMBER!
procfs
)
xargs -0 < /proc/PID/cmdline
ps --pid $PID -o args=
Questo è quello che uso, comunque ...