我使用Windows API的CreateProcess函数。在它的msdn手册中,我发现



那我应该在哪里做呢?

情况是这个过程开始了,没有他的生活轨迹。它是否迫使我创建一个线程,将在该线程中创建进程,然后该线程将使用WaitForSingleObject等进行等待,直到该进程死亡,以便可以释放这些句柄?

最佳答案

您不必等待子进程完成,只需在不再需要该句柄的时使用CloseHandle

这样做的原因是,即使在过程完成之后,您仍可能希望保留该过程的句柄。例如,您可能要检查其返回状态。只要您有处理能力,Windows便无法对其进行清理。

但是,如果您不再关心 child 的行为,请合上手柄并继续前进。

如果您确实需要,请调用WaitForSingleObject并为其提供从CreateProcess获得的句柄。或使用回调函数调用RegisterWaitForSingleObject(再次将其传递给进程句柄),该回调函数将在进程结束时被调用。

10-08 12:49