Vfork 和fork区别

发布于 2022-10-15 08:15:40 字数 193 浏览 32 评论 0

本帖最后由 vdsvs 于 2011-04-28 23:32 编辑

刚才看了相关资料,说vfork创建的父子进程是共享数据段的,而fork创建的父子进程数据段是拷贝不是共享,那意味着vfork创建后可以共享一些全局变量,那vfork 创建的父子进程之间的通信就不用什么管道、共享等方式了吧,不知道说的对不???

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

坏尐絯℡ 2022-10-22 08:15:40

使用vfork创建进程的时候,不会复制父进程的相关资源,父子进程共享相同的地址空间,所以子进程对虚拟内存空间的内存修改实际上是修改父进程的虚拟内存空间。
vfork创建子进程后,将阻塞父进程直到子进程调用exec或者_exit退出。
楼主可以自己写个小程序验证一下

想你只要分分秒秒 2022-10-22 08:15:40

如LS所说,vfork()后父子进程共享数据空间,子进程修改父进程的变量后父进程可以看到,但是父进程会阻塞直到子进程exec()或者_exit()后。

独守阴晴ぅ圆缺 2022-10-22 08:15:40

本帖最后由 vdsvs 于 2011-05-02 21:41 编辑

如LS所说,vfork()后父子进程共享数据空间,子进程修改父进程的变量后父进程可以看到,但是父进程会阻塞直到 ...
whaaat 发表于 2011-04-29 10:07

    谢谢 ,终于明白vfork了

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文