我怎样才能等待子进程真正开始

时间:2013-12-13 08:41:29

标签: c++ c windows winapi

如何才能真正启动通过CreateProcess函数运行的子进程?我想想WaitForInputIdle函数,但它比子应用程序绘制所有窗口更早返回。

2 个答案:

答案 0 :(得分:1)

在解决这个问题的过程中,您在父级中创建了一个管道。在fork之后,父级从管道读取,并且子级写入一些数据以表示它已准备好继续。

答案 1 :(得分:0)

如果你有子进程的代码,那么一种方法是在父进程中创建一个命名事件并等待该事件。在子进程中,您打开事件并在子进程确定它已真正开始时发出信号。

如果您要生成大量进程,那么您将需要事件的命名约定,以便每个父/子对都有自己的事件。解决此问题的一种方法是使用GUID命名事件,然后在命令行上将该GUID传递给子进程。