来自processIdentifier
中NSRunningApplication.h
的评论:
并非所有应用程序都有pid。
咦?
我可以在表示已终止进程(NSRunningApplication
)的runningProcess.terminated == YES
的特定情况下看到这种情况,但我想不出正在运行的应用程序没有进程ID的示例。这就是Unix 101。
文档错误或我遗漏了什么?
答案 0 :(得分:8)
这是一个对冲。 “正在运行的应用程序”是用户认为是应用程序的东西。显示在cmd-tab切换器等中。这不一定直接对应于进程。在经典环境中,多个应用程序由一个unix进程托管,经典。在这种情况下,NSRunningApplication将为每个“应用程序”返回-1。
那些经历过足够长时间的人已经看到了足够有趣的黑客,他们认为这是一个很重要的定义。