linux中让子进程执行和父进程不同功能的两种常用方法

linux中让子进程执行和父进程不同功能的两种常用方法,第1张

运维

Linux系统进程控制

行者111111111111111

原创

关注

0点赞·3人阅读

1、进程创建

shell命令行启动程序指令皆是创建了进程,我们通常通过调用fork()函数创建子进程。

1.1、fork()函数用法简介

调用fork后, *** 作系统内核将:

分配新的内存块和内核数据结构给子进程

将父进程部分数据结构内容拷贝至子进程

添加子进程到系统进程列表当中

fork返回,开始调度器调度

1.2、fork函数返回值

子进程返回0,父进程返回的是子进程的pid

原因:fork之后进入内核,申请内存构建子进程PCB、虚拟内存、页表,将子进程设置R状态,放入调度队列,由于创建子进程之后父子进程共享代码,所以父子进程都会有return返回值。返回值返回给变量本质发生了写时拷贝,改变了子进程对应页表的指向,数据映射到了其他区域

1.3、写时拷贝

由于进程要独立,代码不可修改,数据可改,所以默认数据各有一份,但是内存是有限度的,如果把父进程数据全部再拷贝一份,那么太浪费内存,甚至导致fork失败。通常通过写时拷贝实现,就是当父或子进程修改数据时,将要修改的数据拷贝一份,让子进程页表指向新的重复数据在发生修改

父进程在什么情况下可以相同

Liunx *** 作 - Record14—父子进程中的相同与不同 - 恋蛩音的博客 - CSDN博客

2020年2月16日进程共享 fork后: 父子相同处 全局变量、data、.text、栈、堆、环境变量、用户ID、宿主...

CSDN博客

父子进程 - 龙宇在天 - 博客园

2020年12月18日不同处:1.进程ID 2.fork返回值 3.父进程ID 4.进程运行时间 5.闹钟(定时器) 6.未决信号集 父子进程相同处和不同处是在只读情况下成立,...

博客园

父子进程同步 - Fitz1318的博客 - CSDN博客 - 父进程和子进程是同步的

1. 如果子进程还未结束,父进程阻塞等待

2. 如果子进程已经结束,其终止状态字SIGCHILD放在指定位置等待父进程提取,这时,父进程可立即得到终止状态字并返回

3. 如果没有子进程,父进程立即错误返回。

CSDN博客

Linux8 - fork父子进程逻辑地址相同、进程的逻辑地址与物理地址、fork相...

1. 正常释放结束子进程: 1、进程实体已经被释放2、PID内部的exit_code = 0//进程的退出码,将PID内部的退出码置零3

2. 非正常流程、僵死状态:没有获取退出码

CSDN博客

大家还在搜

父进程和子进程共享虚拟地址空间

父进程与子进程之间的关系

父子进程共享

并发指的是什么

父进程和子进程相同和不同

父进程如何创建子进程

父进程和子进程具有相同的

父子进程可以并发执行

...变量地址相同——虚拟内存 - Ethan - Code的博客 - CSDN博客 - 父进程...

5月6日会完全复制父进程的栈空间,包括页表,但没有复制物理页面,所以这时虚拟地址相同,物理地...

CSDN博客

父进程在创建子进程之后,哪些东西共享,哪些东西不共享?

1. 父进程等待子进程完成。在这种情况下,父进程无须对其描述符做任何处理。当子进程终止之后,它曾进行过读、写的人一个共享描述符的文件偏移量

2. 父、子进程各自执行不同的程序段。这种情况下,在fork之后,多宝父、子进程各自关闭它们不需使用的文件描述符,这样就不会干扰对方使用的文件描述符

CSDN博客

fork之后父子进程虚拟地址(逻辑地址)相同的问题 - 飞雪一刀的博客 - CS...

2014年11月7日可以看到,两个进程中实例的虚拟地址都是一样的,但是实际上指向的是两个不同的变量(物理地...

CSDN博客

父子进程folk后的相同点不同点以及进程共享知识点 - 一头特立独行的驴...

2020年11月11日父子进程之间在刚fork 后: ​ 相同点:全局变量、.data、.text、栈、堆、环境变量、用户 ID、宿主目录、进程工作目录、信号处理方式… ...

CSDN博客

父子进程共享 - 一只小苹果的博客 - CSDN博客 - 父子进程共享

2020年12月3日父子进程不同(重点): 进程id 返回值 各自的父进程 进程创建的时间 闹钟 未决信号集 父子进程共享(重点): 1.文件描述符(fd) 2.mmap映射区...

CSDN博客

大家还在搜

子进程和父进程的理解

父进程和子进程哪些是共享的

父子进程可以同名吗

关于子进程和父进程的说法

用户级线程有没有线程控制块

一个进程可以没有父进程

以下关于父进程和子进程的叙述中

子进程会继承父进程的哪些内容

下一页

父进程在什么情况下可以相同

百度Liunx *** 作 - Record14—父子进程中的相同与不同 - 恋蛩音的博客 - CSDN博客

2020年2月16日进程共享 fork后: 父子相同处 全局变量、data、.text、栈、堆、环境变量、用户ID、宿主...

CSDN博客

父子进程 - 龙宇在天 - 博客园

2020年12月18日不同处:1.进程ID 2.fork返回值 3.父进程ID 4.进程运行时间 5.闹钟(定时器) 6.未决信号集 父子进程相同处和不同处是在只读情况下成立,...

博客园

父子进程同步 - Fitz1318的博客 - CSDN博客 - 父进程和子进程是同步的

1. 如果子进程还未结束,父进程阻塞等待

2. 如果子进程已经结束,其终止状态字SIGCHILD放在指定位置等待父进程提取,这时,父进程可立即得到终止状态字并返回

3. 如果没有子进程,父进程立即错误返回。

CSDN博客

Linux8 - fork父子进程逻辑地址相同、进程的逻辑地址与物理地址、fork相...

1. 正常释放结束子进程: 1、进程实体已经被释放2、PID内部的exit_code = 0//进程的退出码,将PID内部的退出码置零3

2. 非正常流程、僵死状态:没有获取退出码

CSDN博客

大家还在搜

父进程和子进程共享虚拟地址空间

父进程与子进程之间的关系

父子进程共享

并发指的是什么

父进程和子进程相同和不同

父进程如何创建子进程

父进程和子进程具有相同的

父子进程可以并发执行

...变量地址相同——虚拟内存 - Ethan - Code的博客 - CSDN博客 - 父进程...

5月6日会完全复制父进程的栈空间,包括页表,但没有复制物理页面,所以这时虚拟地址相同,物理地...

CSDN博客

父进程在创建子进程之后,哪些东西共享,哪些东西不共享?

1. 父进程等待子进程完成。在这种情况下,父进程无须对其描述符做任何处理。当子进程终止之后,它曾进行过读、写的人一个共享描述符的文件偏移量

2. 父、子进程各自执行不同的程序段。这种情况下,在fork之后,多宝父、子进程各自关闭它们不需使用的文件描述符,这样就不会干扰对方使用的文件描述符

CSDN博客

fork之后父子进程虚拟地址(逻辑地址)相同的问题 - 飞雪一刀的博客 - CS...

2014年11月7日可以看到,两个进程中实例的虚拟地址都是一样的,但是实际上指向的是两个不同的变量(物理地...

CSDN博客

父子进程folk后的相同点不同点以及进程共享知识点 - 一头特立独行的驴...

2020年11月11日父子进程之间在刚fork 后: ​ 相同点:全局变量、.data、.text、栈、堆、环境变量、用户 ID、宿主目录、进程工作目录、信号处理方式… ...

CSDN博客

父子进程共享 - 一只小苹果的博客 - CSDN博客 - 父子进程共享

2020年12月3日父子进程不同(重点): 进程id 返回值 各自的父进程 进程创建的时间 闹钟 未决信号集 父子进程共享(重点): 1.文件描述符(fd) 2.mmap映射区...

CSDN博客

大家还在搜

子进程和父进程的理解

父进程和子进程哪些是共享的

父子进程可以同名吗

关于子进程和父进程的说法

用户级线程有没有线程控制块

一个进程可以没有父进程

以下关于父进程和子进程的叙述中

子进程会继承父进程的哪些内容

下一页

父进程在什么情况下可以相同

百度


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/tougao/6867222.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-03-29
下一篇 2023-03-29

发表评论

登录后才能评论

评论列表(0条)

保存