原文链接:http://blog.csdn.net/jason314/article/details/5640969#comments

总结:面宝P268

  fork()的意思是进程从这里开始分叉,分成两个进程:一个父进程,一个子进程。子进程拷贝了父进程的绝大部分(栈、缓冲区等等)。虽然父子进程共享代码空间,但是在涉及写数据时,子进程有自己的数据空间。

  父进程中fork()返回新建子进程的进程ID;子进程中fork()返回0;如果出错,fork()返回负值。

  相关函数:getppid 获取父进程ID;getpid 获取本进程ID。

注意:父子两进程的执行顺序不固定,要看调度策略。

注意:

printf("fork!");
fork();

这段代码,缓冲区内的“fork!”也被子进程复制了,之后子进程打印也有fork!(这是我们不希望看到的),可做如下修改:

printf("fork!\n");//\n符号使得代码立即打印,同时缓冲区不再有fork!
fork();

最新文章

  1. php 封装
  2. C# 实现函数回调
  3. Leetcode Linked List Cycle II
  4. IDEA调试javaScript
  5. Jquery获取选中的checkbox的值
  6. Linux上修改weblogic的内存大小
  7. 【转】浅析linux内存模型
  8. 『Python』 ThreadPool 线程池模板
  9. 【原创】leetCodeOj --- Jump Game II 解题报告
  10. 分布式系列六: WebService简介
  11. vue加载本地json文件
  12. go语言之行--数组、切片、map
  13. Linux用户信息查询
  14. 基于Vue + Vuex + Vue-router + Webpack 2.0打造微信界面
  15. 不改源代码,修改服务器配置,解决全局Get中文乱码问题
  16. Metasploit渗透某高校域服务器
  17. [LeetCode] Add Two Numbers题解
  18. POJ3070:Fibonacci——题解
  19. [poj3368]Frequent values(rmq)
  20. 高效使用ppt素材

热门文章

  1. 关于Pytorch中accuracy和loss的计算
  2. 【Qt开发】QT对话框去掉帮助和关闭按钮 拦截QT关闭窗口的CloseEvent
  3. 【DSP开发】【Linux开发】IIC设备驱动程序
  4. 【linux杂谈】centos6和centos7中固定IP的方法
  5. mysql的root密码忘了
  6. 在PostgreSQL中 pg_start_backup 做了什么?
  7. Navicat 连接数据库避免中文显示乱码问题解决
  8. 关闭mysql查询缓存query cache(用户测试性能)
  9. Hive 教程(四)-分区表与分桶表
  10. mysql连接数据库时报2003错误怎么解决