我们都知道,父进程fork()之后返回值为子进程的pid号,而子进程fork()之后的返回值为0。那么,现在就有一个问题了,子进程fork()的返回值是怎么来的?如果子进程又执行了一遍fork()函数,那么,按着完全复制的效果,父进程应该还会再fork()一次才对啊。

其实,在fork()函数执行中,返回值是存放在寄存器eax中的,在子进程中fork()的结尾处,把eax置为0就可以啦。这样,就造成一种子进程也完整运行一次fork()的“假象”

 
 

最新文章

  1. Vmware虚拟机Devstack安装openstack(All in one)
  2. zookeeper dubbo 问题解决录
  3. DOM Document
  4. Webform(分页与组合查询配合使用)
  5. html 表格head头部不动 body部分滚动,每格宽同内容增加
  6. java的nio之:java的nio的服务器实现模型
  7. 自定义View(7)draw与onDraw区别
  8. 无法解析指定的连接标识符 oracle错误12154
  9. js函数大全
  10. 递归查找某个目录下是否存在NOTICE文件
  11. PAT 1076. Forwards on Weibo (30)
  12. 201521123065《Java程序设计》第六周学习总结
  13. .net 委托的使用方法以及使用委托的好处
  14. [Swift]LeetCode692. 前K个高频单词 | Top K Frequent Words
  15. 安装CaffeOnSpark过程中遇到的问题及解决方案
  16. 复习java基础
  17. HDU1521 排列组合(生成函数 背包)
  18. 一键开启MacOS HiDPI
  19. composer卸载重装
  20. mui框架(三)

热门文章

  1. select * from sys.sysprocesses
  2. 【JVM】调优笔记1-----堆栈概念的对碰
  3. ASP.NET MVC生命周期介绍(转)
  4. 安装office2016 64位时提示64位与32位的office程序不兼容,在系统是64位的情况下,由于应用的需要,必须装64位的office,怎么办
  5. nagios系列教程地址
  6. asyncio NetMQ 解决方案编译问题
  7. JAVA加解密 -- 消息摘要算法
  8. Server 非阻塞
  9. J2SE语言--百度百科
  10. Genymotion 在win10 下的安装