Если PID является PID «пользовательского приложения», то вы можете получить NSRunningApplication
приложения следующим образом:
NSRunningApplication * app = [NSRunningApplication
runningApplicationWithProcessIdentifier:pid
];
А для печати пути к исполняемому файлу:
NSLog(@"Executable of app: %@", app.executableURL.path);
сам пакет приложений находится здесь
NSLog(@"Executable of app: %@", app.bundleURL.path);
Однако это не будет работать с системными или фоновыми процессами, оно ограничено пользовательскими приложениями (которые обычно отображаются в доке после запуска). Объект NSRunningApplication
позволяет проверить, является ли приложение активным, скрыть / показать его и выполнить все другие полезные действия.
Просто подумал, что я упомянул это здесь для полноты. Если вы хотите работать с произвольными процессами, тогда принятый ответ, конечно, лучше.