Objective c 在没有轮询的情况下观察进程生命周期非常慢?
我使用苹果公司描述的一种技术来观察任意过程 我使用了上面提到的所有三种技术的精确源代码。但反应非常缓慢,有时甚至不起作用Objective c 在没有轮询的情况下观察进程生命周期非常慢?,objective-c,macos,cocoa,process,nsworkspace,Objective C,Macos,Cocoa,Process,Nsworkspace,我使用苹果公司描述的一种技术来观察任意过程 我使用了上面提到的所有三种技术的精确源代码。但反应非常缓慢,有时甚至不起作用 文档中有什么遗漏吗?啊。。。你给了我我要找的关键词。您希望监视进程,而不是应用程序。如果您试图捕获常规Macintosh应用程序之外的非AppKit应用程序或命令行进程,则无法使用NSWorkspace解决方案 试着专注于解决方案 如果这不好,请查看您的苹果技术说明中的“面向服务的替代方案”部分。如果您重新思考一下您的方法,您可能可以使用launchd来完成您想要做的事情。该
文档中有什么遗漏吗?啊。。。你给了我我要找的关键词。您希望监视进程,而不是应用程序。如果您试图捕获常规Macintosh应用程序之外的非AppKit应用程序或命令行进程,则无法使用NSWorkspace解决方案 试着专注于解决方案
如果这不好,请查看您的苹果技术说明中的“面向服务的替代方案”部分。如果您重新思考一下您的方法,您可能可以使用launchd来完成您想要做的事情。该文章的最后一次修订是2008年。。。那就像20个狗年。您正在编写什么类型的应用程序(即,它是GUI应用程序还是守护程序或代理)?NSWorkspace方法应该仍然有效,但我已经尝试了很多年了,我看到通知在MacOS 10.6中提供了一些新信息。我正在编写一个应用程序,它可以与守护程序通信任意进程的启动或关闭。我尝试了NSWorkspace解决方案来捕获Appkit应用程序。它的响应时间糟糕且不可靠。我也尝试了kqueue解决方案,但它没有响应。可能是我做错了什么。我将再试一次。使用kqueue,我能够管理进程的关闭。但这一进程的启动并非如此。您知道如何使用kqueue来管理启动事件吗?