5

I have the pid (process identifier) of an arbitrary running process. How can I find the bundle identifier (if any) of the associated application?

Nick Moore
  • 15,547
  • 6
  • 61
  • 83

2 Answers2

6

I've found an answer which works on 10.6 only:

[[NSRunningApplication runningApplicationWithProcessIdentifier:pid] bundleIdentifier]

Nick Moore
  • 15,547
  • 6
  • 61
  • 83
5

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.)

JWWalker
  • 22,385
  • 6
  • 55
  • 76