在 Windows 上,我*必须*在调用 CreateProcess() 之后调用 WaitForSingleObject() 吗?

On Windows do I *have to* call WaitForSingleObject() after calling CreateProcess()?

在Linux,我必须在父进程fork()之后调用wait(),否则子进程完成后会保持僵尸状态,直到父进程完成。

我想知道我是否必须在 Windows、 上执行类似的步骤 即我是否 必须 在调用 CreateProcess().

之后调用 WaitForSingleObject()

我知道 Windows' CreateProcess() 不同于 Linux 的 fork() 而且 'zombie' 似乎是 UNIX/Linux Windows 上不存在的概念。但也许我仍然必须调用 WaitForSingleObject() 来释放分配给 CreateProcess() 的一些 OS 资源,类似于 Linux 的情况。

如果CreateProcess成功,你必须关闭PROCESS_INFORMATION中的两个句柄,但你不必先等待子进程,如果你不这样做,句柄可以随时关闭不需要它们。

进程的打开句柄将使进程对象在完成后保持处于僵尸状态 运行。