Есть ли способ, которым мы можем контролировать сам запуск программы, т.е. если задание загружается или выгружается из списка daemon/agent от запуска? Например, может ли любое административное приложение регистрироваться для получения события всякий раз, когда новый plist загружается или выгружается демоном launchD, например, пуская эту команду: launchctl load/unload /Library/LaunchDaemons(or launchAgents)/test.plist
?OSX: Мониторинг launchd, демоны и агенты
Опрос - это один из вариантов, но есть ли эффективный ресурс?
Любая помощь будет заметна.
вещь, которую я ищу, - это захват события, когда пользователь-админ пытается выгрузить моего демона, произнеся команду, вызывая эту команду из командной строки: sudo unload xyz.plist .. есть способ захватить это событие из dtruss ? – Abhinav
Я бы хотел сказать «да». Если вы используете его, чтобы увидеть все системные вызовы, сделанные 'launchctl', а затем вызывать выгрузку самостоятельно, вы можете увидеть, какой системный вызов вы можете фильтровать. Большим преимуществом 'dtrace' в этом случае может быть то, что легче видеть, когда ваш файл plist открывается любым процессом. – Shrewd