È 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 axmostra 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 $PROCESSNUMBERdirettamente dal kernel (la /proc/$PROCESSNUMBER/cmdlineparte) e la rende leggibile inserendo ogni argomento su una riga separata traducendo (con tr -tokensostituzione) 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 ...