linux--进程创建

image-20230923113330871.png


执行了3次ps -f ,ps -f的父进程的ID(PPID)都是一样的,即bash.

实际上Linux上这个bash就是不断的复制自身,然后把复制出来的用exec替换成想要执行的程序(比如ps);
运行ps,发现ps是bash的一个子进程;原因就是bash把自己复制一份,然后替换成ps;

image-20220519140338629.png


替换,这里就体现了写时拷贝的意义,如果全部都要替换,那么最开始的复制是没有意义的; 注意,用了写时拷贝就只复制了几个页表的映射,内容还没有复制,然后执行了替换exec.

image-20220519140921387.png

在Linux新的进程的产生过程(进程创建):
fork:复制进程

exec系列:将当前进程替换为另外一个进程.

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/521573.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

ETL中如何自定义规则

一、ETL中的规则 在使用规则之前我们先来了解一下什么是规则,ETL中规则在很多组件中都能看见,可以理解为按照事前约定好的逻辑去执行,规则可以使得数据更加的规范统一,同时也不需要去纵向的修改底层代码,只需要动态编…

自动驾驶汽车关键技术_感知

自动驾驶汽车关键技术|感知 附赠自动驾驶学习资料和量产经验:链接 两套标准 分别由美国交通部下属的国家高速路安全管理局(NationalHighwayTraffic Safety Administration ,NHSTA) 和国际汽车工程师协会(Societyof Automotive Engineers&am…

复现chatgpt_ros,需要openapi key

1. 前置工作: 现在ubuntu系统是20.04ros1,现在用docker新建并安装ros2: 最简单的,用大佬的一键安装: wget http://fishros.com/install -O fishros && . fishros 其次自己装…

代码随想录刷题——5双指针法

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 前言5.1 移除元素(3.30)5.2 翻转字符串(3.30)5.3 替换数字(3.30)5.4 翻转字符串里的单词(3.3…

FlutterFlame游戏实践#08 | 打砖块 -关卡设计

theme: cyanosis 本文为稀土掘金技术社区首发签约文章,30天内禁止转载,30天后未获授权禁止转载,侵权必究! Flutter\&Flame 游戏开发系列前言: 该系列是 [张风捷特烈] 的 Flame 游戏开发教程。Flutter 作为 全平台 的 原生级 渲…

SQL注入---POST注入

文章目录 前言一、pandas是什么?二、使用步骤 1.引入库2.读入数据总结 一. POST提交概述 在Webshell文章中介绍过post提交和get提交的区别,这里不再赘述 post提交和get提交的区别: get方式提交URL中的参数信息,post方式则是将信…

【学习分享】小白写算法之选择排序篇

【学习分享】小白写算法之选择排序篇 前言一、什么是选择排序算法二、选择排序算法如何实现三、C语言实现算法四、复杂度计算五、算法稳定性六、小结 前言 简单排序有三种,冒泡排序,插入排序和选择排序。这三种排序的算法算是入门级别的,打好…

UART设计

一、UART通信简介 通用异步收发器, 特点:串行、异步、全双工通信 优点:通信线路简单,传输距离远 缺点:传输速度慢 数据传输速率:波特率(单位:baud,波特) …

解决IDEA下载mysql驱动太慢

下载驱动 下载页 解压后,提取**.jar**文件,放到一个目录下(你自己决定这个目录) 打开IDEA项目,点击右侧的数据库选项卡 在打开的页面,点击号 依次选择:数据源->MySQL 在弹出的页面,依次选择&#…

注解式 WebSocket - 构建 群聊、单聊 系统

目录 前言 注解式 WebSocket 构建聊天系统 群聊系统(基本框架) 群聊系统(添加昵称) 单聊系统 WebSocket 作用域下无法注入 Spring Bean 对象? 考虑离线消息 前言 很久之前,咱们聊过 WebSocket 编程式…

华为ensp中高级acl (控制列表) 原理和配置命令 (详解)

作者主页:点击! ENSP专栏:点击! 创作时间:2024年4月6日23点18分 高级acl(Access Control List)是一种访问控制列表,可以根据数据包的源IP地址、目标IP地址、源端口、目标端口、协议…

【ARM 嵌入式 C 常用数据结构系列 25.1 -- linux 双向链表 list_head 使用详细介绍】

请阅读【嵌入式开发学习必备专栏 】 文章目录 内核双向链表双向链表的数据结构初始化双向链表在双向链表中添加元素遍历双向链表链表使用示例注意事项 内核双向链表 在Linux内核中,双向链表是一种广泛使用的数据结构,允许从任意节点高效地进行前向或后向…

STM32F407-SRAM

SRAM—> 内存 Flash–>硬盘 外置SRAM 可以存储1M数据 地址线:A0-A18;2^18次方;512K个数据块 每个数据块是2字节; 数据线:D0-D15 UB/LB 掩码;低电平有效 UB -》低电平-》数据高字节有效 LB-》低电平…

golang 选择排序

学习笔记~ // Author sunwenbo // 2024/4/6 21:49 package mainimport "fmt"/* 选择排序基本介绍选择式排序也属于内部排序法,是从预排序的数据中按指定的规则选出某一元素,经过和其他元素重整,再依原则交换位置后达到…

轻量的 WebHook 工具:歪脖虎克

本篇文章聊聊轻量的网络钩子(WebHook)工具:歪脖虎克。 写在前面 这是一篇迟到很久的文章,在 21 年和 22 年的时候,我分享过两篇关于轻量的计划任务工具 Cronicle 的文章:《轻量的定时任务工具 Cronicle&a…

Linux(Ubuntu)中创建【samba】服务,用于和Windows系统之间共享文件

目录 1.先介绍一下什么是Samba 2.安装,配置服务 安装 配置(smb.conf) 配置用户 3.出现的问题(Failed to add entry for user XXXX) 4.创建文件夹 5.windows访问 1.先介绍一下什么是Samba Samba是一个开源的软…

2024.4.3-[作业记录]-day08-CSS 盒子模型(溢出显示、伪元素)

个人主页:学习前端的小z 个人专栏:HTML5和CSS3悦读 本专栏旨在分享记录每日学习的前端知识和学习笔记的归纳总结,欢迎大家在评论区交流讨论! 文章目录 作业 2024.4.3-学习笔记css溢出显示单行文本溢出显示省略号多行文本溢出显示省…

【Android】图解View的工作流程原理

文章目录 入口DecorView如何加载到Window中MeasureSpec MeasureView的测量ViewGroup的测量 LayoutView的layout() Draw1、绘制背景3、绘制View内容4、绘制子View6、绘制装饰 入口 DecorView如何加载到Window中 MeasureSpec 该类是View的内部类,封装View的规格尺寸…

C++资源重复释放问题

这不是自己释放了2次&#xff1b; 可能是类互相引用&#xff0c;有类似现象释放资源时引起&#xff1b;还不太了解&#xff1b; 类对象作为函数参数也会引起&#xff1b; 下面是一个简单示例&#xff1b; #include <iostream> #include <string.h> #include &l…

Spark-Scala语言实战(14)

在之前的文章中&#xff0c;我们学习了如何在spark中使用键值对中的fullOuterJoin&#xff0c;zip&#xff0c;combineByKey三种方法。想了解的朋友可以查看这篇文章。同时&#xff0c;希望我的文章能帮助到你&#xff0c;如果觉得我的文章写的不错&#xff0c;请留下你宝贵的点…