如果我有一个进程并克隆了它,那么PID是否相同?

只是一个简单的问题,如果我克隆一个进程,则克隆的进程的PID是相同的,是吗?fork()创建一个子进程,其PID不同,但其他所有事物都相同。Vfork()创建一个具有相同PID的子进程。Exec致力于将当前正在执行的流程更改为其他流程。

我在所有这些陈述中都正确吗?

回答:

不完全的。如果通过fork / exec或vfork /

exec克隆进程,则将获得新的进程ID。fork()将为您提供具有新进程ID的新进程,并exec()用新进程替换该进程,但仍保留该进程ID。

从这里:

vfork()函数与fork()的不同之处仅在于子进程可以与调用进程(父进程)共享代码和数据。如果滥用vfork(),这将极大地加快克隆活动的速度,并有可能损害父进程的完整性。

以上是 如果我有一个进程并克隆了它,那么PID是否相同? 的全部内容, 来源链接: utcz.com/qa/404335.html

回到顶部