如何从已知的PID中找到Bundle Identifier?

时间:2010-07-22 14:04:16

标签: objective-c cocoa macos pid

我有一个任意运行进程的pid(进程标识符)。如何找到相关应用程序的包标识符(如果有)?

2 个答案:

答案 0 :(得分:6)

我找到了一个仅适用于10.6的答案:

[[NSRunningApplication runningApplicationWithProcessIdentifier:pid] bundleIdentifier]

答案 1 :(得分:5)

这是一种适用于10.2及更高版本的方法:首先调用GetProcessForPID将pid变为ProcessSerialNumber。然后调用ProcessInformationCopyDictionary以获取包ID。 (补充:OS 10.9中不推荐使用这些功能。我不知道它们是否仍存在于10.10 SDK中。)