创建进程扩展|学习笔记

简介: 快速学习创建进程扩展

开发者学堂课程【物联网开发- Linux 高级程序设计全套视频创建进程扩展】学习笔记,与课程紧密联系,让用户快速学习知识。

课程地址:https://developer.aliyun.com/learning/course/660/detail/10991


创建进程扩展

 

内容介绍:

一、创建子进程1

二、创建子进程2

三、公共代码

四、举例

 

一、创建子进程1:

扩展一下关于创建进程的题,点击 include ,stdio.h,下一行输入 include ,unistd.h。

假如我在一个程序当中,让父进程创建两个子进程,

然后是“pid-t pid1,pid2”。

第一个进程“pid1=fork();

”创建一个子进程,如果 pid1<0,这是出错的情况。

else if (pid1=0)//子进程1,

然后else//父进程 。

 

二、创建子进程2:

如果我想创建第二个子进程的话,我在父进程中再生成二次就是pid2=fork();if(pid2<0),就是失败的情况。

else if (pid2=0)//子进程2,然后else这个是父进程。

注意一下,因为这一块代码是子进程1不会执行,所以子进程1不会去 fork ,只有父进程去 fork 了,所以说才有三个进程:父进程,子进程1,子进程2。

 

三、公共代码:

下面是公共代码,这里也可以执行父进程的代码。

但这个代码稍稍一改,就出现一种情况,改一个 test2.c,连续来两个 fork ,下面都去掉会出什么效果,下面是其他代码。

然后说创建两个子进程,写代码的时候,两个fork是两个子进程。但这样会有问题,这是父进程的代码,父进程fork的第八行,fork 时产生子进程1,

再看这一个父进程中第九行又执行一个 fork ,创建一个子进程2,再往下执行代码结束。

但是看子进程1从第九行执行,所以子进程1又执行了一个 fork ,又创建了一个子进程,这个是子进程1的子进程--孙进程,孙进程再往下结束,子进程1再往下结束。

所以说,如果你在代码当中连续两个 fork 的话,总共有4个进程,其实是二的二次方。

 

四、举例:

笔试面试的时候有这样的题“int i;

for(i=0;i<5;i++) ,Pid=fork();”请问最终会有多少个进程,二的五次方。

Printf(“pid=§d\n”,pid);打出多少个 pid 加上父进程就知道有多少个子进程。

所以说,它是二的五次方,你可以按照我刚才的方式去分析,二的N次方。

比较简单的方法,在这直接打 pid ,你看能数出多少个 pid加1就

可以,2到548,这是一个进程的扩展。

相关文章
|
Kubernetes Ubuntu Cloud Native
深入剖析Kubernetes学习笔记-05 | 白话容器基础(一):从进程说开去
深入剖析Kubernetes学习笔记-05 | 白话容器基础(一):从进程说开去
271 0
|
消息中间件 Shell Linux
计算机操作系统学习笔记(7)——进程通信
计算机操作系统学习笔记(7)——进程通信
186 0
|
JavaScript 前端开发 API
Chrome插件实现问题之 content_script.js能做什么
Chrome插件实现问题之 content_script.js能做什么
|
Linux 调度
Linux学习笔记十一:进程管理
Linux学习笔记十一:进程管理
119 0
|
存储 安全 Linux
Go语言学习笔记-进程和线程
Go语言学习笔记-进程和线程
134 0
Go语言学习笔记-进程和线程
|
存储 Linux 调度
[操作系统]秋招面试问到进程扩展知识!!!面试官喜欢的答案
[操作系统]秋招面试问到进程扩展知识!!!面试官喜欢的答案
159 0
|
安全 程序员 Python
Python-logging详解(彩色日志扩展,多进程安全等)
Python-logging详解(彩色日志扩展,多进程安全等)
469 0
|
安全 算法 调度
411操作系统学习笔记——进程与线程、处理机调度、同步与互斥(PV操作)、死锁(四)
411操作系统学习笔记——进程与线程、处理机调度、同步与互斥(PV操作)、死锁
301 1
411操作系统学习笔记——进程与线程、处理机调度、同步与互斥(PV操作)、死锁(四)
|
算法 调度 C++
410操作系统学习笔记——进程与线程、处理机调度、同步与互斥(PV操作)、死锁(三)
410操作系统学习笔记——进程与线程、处理机调度、同步与互斥(PV操作)、死锁
483 1
410操作系统学习笔记——进程与线程、处理机调度、同步与互斥(PV操作)、死锁(三)
|
算法 调度
409操作系统学习笔记——进程与线程、处理机调度、同步与互斥(PV操作)、死锁(二)
409操作系统学习笔记——进程与线程、处理机调度、同步与互斥(PV操作)、死锁
611 1
409操作系统学习笔记——进程与线程、处理机调度、同步与互斥(PV操作)、死锁(二)

热门文章

最新文章