我使用的是由蘋果公司描述的技術Observing Process Lifetimes Without Polling來觀察任意進程。在沒有輪詢的情況下觀察進程生存期非常緩慢?
我使用了那裏提到的所有三種技術的確切源代碼。但是迴應非常緩慢,有時甚至不起作用。
文檔中是否有任何缺失?
我使用的是由蘋果公司描述的技術Observing Process Lifetimes Without Polling來觀察任意進程。在沒有輪詢的情況下觀察進程生存期非常緩慢?
我使用了那裏提到的所有三種技術的確切源代碼。但是迴應非常緩慢,有時甚至不起作用。
文檔中是否有任何缺失?
Ahhhh ...你給我的關鍵字我一直在尋找。你想監視進程,而不是應用程序。如果您嘗試捕獲非常規Macintosh應用程序以外的非AppKit應用程序或命令行進程,則無法使用NSWorkspace解決方案。
請嘗試關注kqueue解決方案。
如果這不好,請查看Apple技術說明中的「面向服務的備選方案」部分。如果你重新考慮一下你的方法,你可以使用launchd來完成你想要做的事情。
該文章的最後一次修訂是2008年......這就像20狗年。你在寫什麼類型的應用程序(即它是一個GUI應用程序,還是它是一個守護進程或代理)? NSWorkspace方法應該仍然有效,但是我已經嘗試過了好幾年了,並且我看到這些通知提供了MacOS 10.6以上的一些新信息。 –
我正在編寫與守護進程通信有關啓動或關閉任意進程的應用程序。 – MacGeek