私は、特にファイルにパッチを適用する必要がある 10.8+ 用のアプリを構築しています。この機能のために、私は「PrivilegedHelperTool」を作成し、KeepLive = YES RunAtLoad = YES としてインストールしました (したがって、常に実行されています)。また、GUI アプリ (メニューバー) との通信に XPC over mach を使用しています。
「PrivilegedHelperTool」がインストールされ、実行されているかどうかを確認できるようにしたいと思います。これまでのところ、インストールを確認する最善の方法は、/Library/LaunchDaemons/ で plist を探し、バイナリが / にあることを確認することですLibrary/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 )