如何在Mac Os上按名称获取进程?

时间:2012-08-02 15:20:09

标签: c++ unix process osx-lion

所以我想获得一个进程指针并执行类似Win32 WaitForSingleObject(hProcess, INFINITE);的操作,如果它不为null,它将等待进程退出。如何为Mac / Unix创建这样的GetProcessByName函数,如Os?

2 个答案:

答案 0 :(得分:2)

查看[NSWorkspace runningApplications][NSRunningApplication runningApplicationsWithBundleIdentifier:]。您可以KVO观察NSRunningApplication的terminated属性。您还可以观看通知NSWorkspaceDidTerminateApplicationNotification

这些都是10.6+。如果您需要早期版本,请根据您的版本要求更新您的问题。它可以在旧版本中使用,但10.6使它变得更容易。

答案 1 :(得分:0)

你无论如何都只能等待一个子进程,如果它是一个子进程,你将拥有它的PID(我永远不会忘记我孩子的名字;只是他们的生日)。

请参阅:waitpid(2)