I have the pid (process identifier) of an arbitrary running process. How can I find the bundle identifier (if any) of the associated application?
Here's a way that works in 10.2 and later: First call GetProcessForPID
to turn the pid into a ProcessSerialNumber
. Then call ProcessInformationCopyDictionary
to get the bundle ID. (Added: these functions are deprecated in OS 10.9. I don't know if they still exist in the 10.10 SDK.)
I've found an answer which works on 10.6 only:
[[NSRunningApplication runningApplicationWithProcessIdentifier:pid] bundleIdentifier]
来源:https://stackoverflow.com/questions/3309681/how-to-find-bundle-identifier-from-known-pid