Czy można pobrać wiersz poleceń użyty do wywołania procesu w systemie Mac OS X?
ps -p <pid> -o args=
ps -p <pid> -o command=
Czy można pobrać wiersz poleceń użyty do wywołania procesu w systemie Mac OS X?
ps -p <pid> -o args=
ps -p <pid> -o command=
Odpowiedzi:
ps ax
pokazuje wiersz poleceń wszystkich uruchomionych procesów; możesz grep dla żądanego pid.
Robi:
~$ 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
robisz to, czego potrzebujesz (zmień ntp na program, który Cię interesuje)? Zwykle daje mi to argumenty uruchomionych procesów w wierszu polecenia (używam do sprawdzenia, czego Launchd używał na przykład podczas uruchamiania demona systemowego).
cat /proc/$PROCESSNUMBER/cmdline | tr '\0' '\n'
Mimo że jest specyficzny dla Linuksa, pobiera wiersz polecenia procesu numerowany $PROCESSNUMBER
bezpośrednio z jądra ( /proc/$PROCESSNUMBER/cmdline
część) i czyni go czytelnym, umieszczając każdy argument w osobnym wierszu, tłumacząc ( tr -token
zamieniając) znaki \ 0 na znaki nowego wiersza (\ n).
Ten wiersz działa tylko wtedy, gdy umieścisz prawdziwy numer procesu uruchomionego procesu (możesz go znaleźć, uruchamiając polecenie ps -ef
) w części $ PROCESSNUMBER!
procfs
)
xargs -0 < /proc/PID/cmdline
ps --pid $PID -o args=
W każdym razie tego używam ...