c ++启动新进程并终止现有进程

时间:2011-06-06 18:48:14

标签: c++ terminate

我希望能够让更新程序应用程序启动新版本的应用程序,然后自行终止。

当我尝试通过'system'调用新应用程序的'通常'时,更新程序永远不会退出。

思想?

3 个答案:

答案 0 :(得分:0)

exec系列函数用新的替换当前进程。如果没有在fork之后从child调用,则应该用新的程序替换你的程序。

系统调用fork然后在子代中执行shell并等待它的返回,这就是你的更新程序没有退出的原因。

参见man 3 exec and man 3 system。

答案 1 :(得分:0)

您需要在Windows上创建并运行单独进程的CreateProcess。 system调用将等待您输入的任何命令完成然后返回。

答案 2 :(得分:-1)

在Windows上查看CreateProcess或在Unix上查看exec。使用宏来创建特定于操作系统的代码的包装器。