Назад | Перейти на главную страницу

Ищете способ регистрировать завершение процесса в OS X (Mac)

Я ищу способ регистрировать все завершения процессов на моем Mac (OS X 10.6.8). (И смотрите pid, отметку времени, имя процесса)

Я реализовал нечто подобное для HP-UX, но для этого требовался драйвер уровня ядра и перехват нескольких вариантов «exit ()» (обычный и тот, который вызывается от имени процесса, когда он прерывается).

Зачем мне нужна информация?

Я видел сообщения в моем файле системного журнала (dmesg), например:

CODE SIGNING: cs_invalid_page(0x1000): p=91550[GoogleSoftwareUp] clearing CS_VALID
CODE SIGNING: cs_invalid_page(0x1000): p=92088[GoogleSoftwareUp] clearing CS_VALID

Хотя dmesg не имеет временных меток, apps / Utilities / Console: Database: all: search for CS_VALID показывает, что сообщения появляются примерно раз в 58 1/2 минут.

Я подозреваю, что число после «p =» - это идентификатор процесса (pid) ... но для процесса, который уже давно завершился к тому времени, когда я вижу сообщение.

Итак, если бы существовал механизм журнала завершения процесса, который записывал pid, время завершения, причину завершения и имя процесса (во время завершения), это, вероятно, позволило бы мне определить, кто вызывает эти ошибки в журнал. !

(Нет, я не использую Chrome на своем Mac, и ps -ef | grep -i goog хитов тоже нет ... Я сознательно не запускаю приложения Google на Mac)

Спасибо,

Стэн sieler@me.com

Edit: Интересное наблюдение Гэри, спасибо! В моей системе, похоже, нет корреляции с pid в dmesg и pid в Library / Logs / GoogleSoftwareUpdateAgent.log ... но если вы видите эту корреляцию, это интересно!

В моем журнале Google появляется сообщение «Не удалось подключиться к движку системы», но реже, чем один раз в час. Вот три последних:

2012-10-31 23:42:13.019 GoogleSoftwareUpdateAgent[13062/0xb0207000] [lvl=3] -[KSAgentApp(KeystoneThread) runKeystonesInThreadWithArg:] Failed to connect to system engine.
2012-11-01 05:34:33.051 GoogleSoftwareUpdateAgent[18632/0xb0207000] [lvl=3] -[KSAgentApp(KeystoneThread) runKeystonesInThreadWithArg:] Failed to connect to system engine.
2012-11-01 11:26:49.842 GoogleSoftwareUpdateAgent[23871/0xb0207000] [lvl=3] -[KSAgentApp(KeystoneThread) runKeystonesInThreadWithArg:] Failed to connect to system engine.

... примерно раз в шесть часов и разные pid, чем в dmesg.

less $HOME/Library/Logs/GoogleSoftwareUpdateAgent.log

похоже, уже регистрирует PID:

2012-10-31 09:35:17.003 GoogleSoftwareUpdateAgent[24805/0xb0289000] [lvl=3] -[KSAgentApp(KeystoneThread) runKeystonesInThreadWithArg:] Failed to connect to system engine.

который относится к сообщению dmesg:

CODE SIGNING: cs_invalid_page(0x1000): p=24805[GoogleSoftwareUp] clearing CS_VALID