Я ищу способ регистрировать все завершения процессов на моем 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