在Mac OS X中,Window的CreateProcess()和WaitForSingleObject()相当于什么?
当我的.app运行完毕时,希望我的C程序暂停。
答案 0 :(得分:1)
OS X中最接近CreateProcess()的是fork()和exec()。但是,如果您尝试从C程序启动.app,则可以使用
执行此操作System("open <pathToApp>");
第二部分是获得应用程序退出的通知。任何IPC机制都可以帮助您实现这一目标。 IPC Mechanism to communicate between C++ & Objective C提供了一个可行选项的见解。在这种情况下,当应用程序退出时,它可以通知C程序。
如果应用程序没有正常退出,则可能无效。案件是崩溃的时候。这里唯一的方法是轮询pid。 C程序可以使用ps命令获取已启动应用程序的pid。继续检查一下是否存在pid。
答案 1 :(得分:0)
如果您正在运行C程序,并希望执行另一个单独的应用程序并等到它完成,最简单的选择就是使用system()
- 请参阅文档here
示例:强>
#include <stdlib.h>
...
system("myApp");