Macos 在Mac OS X上检测代理应用程序的启动和终止而不进行轮询

Macos 在Mac OS X上检测代理应用程序的启动和终止而不进行轮询,macos,agent,nsworkspace,Macos,Agent,Nsworkspace,我需要能够检测代理应用程序的启动和终止,而无需在Mac OS X上进行轮询 苹果的技术说明TN2050建议使用NSWorkspace或Kqueues NSWorkspaceDidLaunchApplicationNotifications似乎无法与代理应用程序一起使用。我不完全理解为什么,但它对LSUIElement=1属性的存在很敏感 KQueue API只能使用NOTE_EXIT检测进程终止,并将成功检测应用程序代理的退出。但是,无法使用此API检测应用程序启动事件 我还对内核授权子系统进行

我需要能够检测代理应用程序的启动和终止,而无需在Mac OS X上进行轮询

苹果的技术说明TN2050建议使用NSWorkspace或Kqueues

NSWorkspaceDidLaunchApplicationNotifications似乎无法与代理应用程序一起使用。我不完全理解为什么,但它对LSUIElement=1属性的存在很敏感

KQueue API只能使用NOTE_EXIT检测进程终止,并将成功检测应用程序代理的退出。但是,无法使用此API检测应用程序启动事件

我还对内核授权子系统进行了实验,发现可以使用KAUTH_SCOPE_VNODE与KAUTH_VNODE_EXECUTE或KAUTH_SCOPE_FILEOP与KAUTH_FILEOP_exece检测代理启动。但是,我没有找到使用KAuth检测进程终止的方法

除了使用KAuth检测启动和KQueue检测终止之外,还有更好的方法检测代理应用程序的启动和终止吗

谢谢