2

Windows 编程中的_spawnl(...)Createprocess(...) API 有什么区别?

这些 API 在创建流程行为方面有何不同。

4

1 回答 1

6

CreateProcess是用于创建进程的原生 API。

spawnl是 C 运行时的一部分,具有类似 POSIX 的语义。它仅支持一小部分功能(提供命令行参数),并作为CreateProcess. 同时,spawnl已被弃用,取而代之的是_spawnl.

的自然操作模式与 的模式CreateProcess相当,但具有附加功能(环境、标准句柄安全信息……)。 P_NOWAITspawnl

请注意,P_OVERLAY模式 inspawnl根本不是 Windows 下直接支持的(没有类 Unix fork+execve习惯用法,进程是重新创建的,而不是分叉的)。因此,此功能是通过生成新进程并终止原始进程来实现的,而不是通过替换进程来实现。

于 2013-07-28T21:19:20.963 回答