C++在创建进程时指定进程ID

Joh*_*ohn 1 c++ pid

CreateProcess包含PROCESS_INFORMATION结构,该结构指定为创建的进程选择的进程ID.

如何在创建进程时指定进程使用哪个进程ID?

Jun*_*sor 6

您根本无法指定进程ID.它由操作系统选择.

想象一下,您可以指定进程ID.操作系统必须锁定其内部进程列表结构,以便查找进程ID是否已存在.如果没有,为了防止任何其他进程创建具有相同的ID.这当然会增加内核的复杂性,而程序员却没有真正的收获.

在没有指定进程id的情况下,os可以原子地递增计数器以确定下一个进程id,这样更容易和更快.