fork 与 vfork

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了fork 与 vfork相关的知识,希望对你有一定的参考价值。

fork 函数复制父进程(包括父进程的地址空间)产生子进程 在父进程返回子进程ID,在子进程本身返回0。

fork一般有两个用处:

1、网络服务进程等待请求,新请求到来,fork一个子进程处理,父进程继续监听。

2、子进程从fork返回立即调用exec执行其他程序,有的系统将fork之后立即执行exec两个操作结合为一个,称为spawn。

vfork 也产生子进程,目的是执行exec,但是不需要复制父进程地址空间,因为它马上执行exec,所以它更快。

vfork与fork还有一个区别是 vfork之后子进程先执行,执行exec或exit之后父进程才执行,而fork就不一定了。

以上是关于fork 与 vfork的主要内容,如果未能解决你的问题,请参考以下文章

Perl - 与 fork/exec'ed 进程通信

Github进行fork后如何与原仓库同步

Github进行fork后如何与原仓库同步

Github进行fork后如何与原仓库同步

fork 系统调用的执行过程与调试

出于迁移项目的考虑,GitHub 中 Fork 出来的项目,如何与原项目断开 Fork 关系?