进程学习4--fork创建进程
来源:互联网 发布:获取百度统计的数据 编辑:程序博客网 时间:2024/06/02 01:46
概述
为什么要创建子进程
(1)每一次程序的运行都需要一个进程
(2)多进程实现宏观上的并行
fork的内部原理
(1)进程的分裂生长模式。如果操作系统需要一个新进程来运行一个程序,那么操作系统会用一个现有的进程来复制生成一个新进程。老进程叫父进程,复制生成的新进程叫子进程。
(2)fork的演示
(3)fork函数调用一次会返回2次,返回值等于0的就是子进程,而返回值大于0的就是父进程。
(4)典型的使用fork的方法:使用fork后然后用if判断返回值,并且返回值大于0时就是父进程,等于0时就是子进程。
(5)fork的返回值在子进程中等于0,在父进程中等于本次fork创建的子进程的进程ID。
正文
函数fork
函数原型
pid_t fork(void);
参数
无
返回值
返回两次,一次是0表示子进程,一次是子进程的ID号
测试代码
int main(void){ pid_t p1 = -1; p1 = fork(); if(p1>0)/*父进程*/ { sleep(1);/*防止父进程先终止子进程查询不到父进程的信息*/ printf("p1 = %d\r\n",p1); printf("parent: getpid = %d\r\n",getpid()); printf("parent: getppid = %d\r\n",getppid()); } else if(p1 == 0)/*子进程*/ { printf("son: getpid = %d\r\n",getpid()); printf("son: getppid = %d\r\n",getppid()); } return 0;}/********测试结果******** son: getpid = 10188 son: getppid = 10187 p1 = 10188 parent: getpid = 10187 parent: getppid = 3041*************************/
参考
朱友鹏Linux教程文档
阅读全文
0 0
- 进程学习4--fork创建进程
- 创建进程fork
- 创建进程库函数fork
- fork() 创建新进程
- 创建进程库函数fork
- python 创建进程fork
- fork创建子进程
- fork创建进程
- 关于fork 创建进程
- Linux:fork进程创建
- fork进程创建
- fork创建进程
- fork函数创建进程
- fork创建进程
- fork创建多进程
- fork创建子进程
- fork创建子进程
- Linux-fork进程创建
- Vue路由开启keep-alive时的注意点
- 动态规划(1)
- 重启ADB
- vue-router路径计算问题
- html之marquee详解
- 进程学习4--fork创建进程
- DOM如何操作文档的标准节点?
- Anko 练手 demo,顺便优化之前的代码布局
- spin_lock和spin_lock_irqsave
- 写作建议
- 刷清橙OJ--A1042.矩形面积交
- 使用 Vuex + Vue.js 构建单页应用
- 海外SDK之----------韩国支付onestore
- 自定义view增加动画效果