获取所有正在运行的应用程序的列表并获取其PID?

时间:2015-01-21 15:28:06

标签: objective-c macos

是否可以获取所有当前正在运行的应用程序的列表。

我得到的最接近的是使用[NSRunningApplications runningApplicationsWithBundleIdentifier],但只有当它具有我提供它的确切包标识符时才会返回。

在我获得列表后,我希望通过对数组中的每个元素进行[NSRunningApplication processIdentifier]来获取每个列表的pid。

[NSRunningApplication bundleIdentifier]

由于

1 个答案:

答案 0 :(得分:2)

[[NSWorkspace sharedWorkspace] runningApplications];应该为你做到这一点。

编辑:如果您需要PID,则需要浏览NSRunningApplication返回的NSArray中的每个元素(runningApplications)。然后,您可以从元素访问processIdentifier属性。

例如,这将抓住第一个正在运行的应用程序。 [(NSRunningApplication*)[[[[NSWorkspace sharedWorkspace] runningApplications] objectAtIndex:0] processIdentifier]