Apakah mungkin untuk mengambil baris perintah yang digunakan untuk menjalankan proses pada Mac OS X?
ps -p <pid> -o args=
ps -p <pid> -o command=
Apakah mungkin untuk mengambil baris perintah yang digunakan untuk menjalankan proses pada Mac OS X?
ps -p <pid> -o args=
ps -p <pid> -o command=
Jawaban:
ps ax
menampilkan baris perintah dari semua proses yang sedang berjalan; Anda dapat menangkap untuk pid yang Anda inginkan.
Apakah:
~$ 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
lakukan apa yang Anda inginkan (ubah ntp ke program yang Anda minati)? Ini biasanya memberi saya argumen baris perintah dari proses yang sedang berjalan (saya gunakan untuk memeriksa apa yang digunakan Launchd ketika menjalankan daemon sistem misalnya).
cat /proc/$PROCESSNUMBER/cmdline | tr '\0' '\n'
Meskipun spesifik untuk Linux, ia mendapatkan baris perintah dari proses yang diberi nomor $PROCESSNUMBER
langsung dari kernel ( /proc/$PROCESSNUMBER/cmdline
bagian) dan membuatnya dapat dibaca dengan meletakkan setiap argumen pada baris terpisah dengan menerjemahkan (dengan tr -token
mengganti) \ 0 ke baris baru (\ n).
Baris ini hanya berfungsi jika Anda meletakkan jumlah proses sebenarnya dari proses yang sedang berjalan (Anda dapat menemukannya dengan menjalankan perintah ps -ef
) di bagian $ PROCESSNUMBER!
procfs
)
xargs -0 < /proc/PID/cmdline
ps --pid $PID -o args=
Itulah yang saya gunakan, bagaimanapun ...