8

Можно ли получить командную строку, которая использовалась для вызова процесса в Mac OS X?

3 ответа3

10

ps ax показывает командную строку всех запущенных процессов; Вы можете найти нужный pid.

4

Имеет:

~$ 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

делать то, что вам нужно (сменить ntp на интересующую вас программу)? Обычно это дает мне аргументы командной строки запущенных процессов (я использую, чтобы проверить, что Launchd использовал, например, при запуске системного демона).

2

cat /proc/$PROCESSNUMBER/cmdline | tr '\0' '\n'

Несмотря на то, что он специфичен для Linux, он получает командную строку процесса под номером $PROCESSNUMBER прямо из ядра (часть /proc/$PROCESSNUMBER/cmdline ) и делает его читаемым, помещая каждый аргумент в отдельную строку путем перевода (с tr -token ) \0 в новые строки (\n).

Эта строка работает, только если вы поместите реальный номер процесса запущенного процесса (вы можете найти его, запустив команду ps -ef) в части $ PROCESSNUMBER!

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .