我正在为 10.8+ 构建一个应用程序,其中必须修补文件。由于这个功能,我创建了一个“PrivilegedHelperTool”并安装为 KeepLive = YES RunAtLoad = YES(所以它一直在运行)。我还使用 XPC over mach 与 GUI 应用程序(菜单栏)进行通信
我希望能够检查“PrivilegedHelperTool”是否已安装并运行,到目前为止,我发现检查安装的最佳方法是在 /Library/LaunchDaemons/ 中查找 plist 并检查二进制文件是否在 /库/PrivilegedHelperTools 。
这真的是最好的方法吗?
此外,我还没有找到可靠的方法来检查 PrivilegedHelperTool(以 root 身份运行)是否已经是 root(例如 sudo launchctl list)
我添加了一个使用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)