Я создаю приложение для 10.8+, которое, помимо прочего, должно исправлять файлы. Из-за этой функциональности я создал «PrivilegedHelperTool» и установил как KeepLive = YES RunAtLoad = YES (поэтому он всегда работает). Я также использую XPC поверх Mach для связи с приложением с графическим интерфейсом (меню).
Я хотел бы иметь возможность проверить, установлен ли и работает ли «PrivilegedHelperTool», и пока лучший способ проверить установку, который я нашел, — это найти plist в /Library/LaunchDaemons/ и проверить, находится ли двоичный файл в / Библиотека/PrivilegedHelperTools.
Это действительно лучший способ?
Также я не нашел надежного способа проверить, работает ли PrivilegedHelperTool (работает от имени пользователя root), не будучи пользователем root (например, список sudo launchctl)
Я добавил обертку, которая использует launch.h (/usr/include/launch.h) http://brockerhoff.net/blog/2009/02/02/cocoa-musings-pt-3/, но он возвращает только пользовательские процессы и заставляет конечного пользователя повышать привилегии только для проверки какой-то «плагин» работает неправильно.
Верно ли, что лучшее, на что я могу надеяться, это попытаться поговорить с моей службой, и если она не отвечает, предположим, что она «повреждена или не работает»? ( http://mac-os-forge.2317878.n4.nabble.com/Programmatic-interface-to-launchctl-and-some-other-questions-OS-X-10-5-tp189494p189496.html )