Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/objective-c/26.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/macos/8.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Objective c 在没有轮询的情况下观察进程生命周期非常慢?_Objective C_Macos_Cocoa_Process_Nsworkspace - Fatal编程技术网

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来管理启动事件吗?