进程(理解fork系统调用)
学习地址
创建子进程
-
所有进程都是由父进程创建出来的
pstree -T
init pid是1,是所有进程的祖先
ps aux
-
进程空间
进程间、进程与内核间相互隔离的,各自在自己的进程空间中运行;
一个进程不能读取修改另一个进程或内核的数据;
新进程被创建出来之后,便是一个独立的进程,拥有自己独立的进程空间,拥有唯一的pid,
拥有自己独立的pcb,新进程被内核同等调度执行; -
fork子进程
-
理解fork系统调用
- 一次fork调用,产生两次返回值
父进程返回一次、子进程返回一次
父进程返回大于0(子进程pid),子进程返回0 - 子进程与父进程几乎完全相同
各自有自己的进程空间,父子进程不共享这些存储空间;
例子:定义一个变量,子进程对变量赋值,不影响父进程变量值; - 子进程什么时候运行:fork调用返回后的代码开始运行
虽然父子进程有各自进程空间,但执行的代码是一样的,执行不同的代码段;
子进程运行fork以后的代码,不会运行fork之前的代码;
如果,感到此时的自己很辛苦,那告诉自己:容易走的都是下坡路。坚持住,因为你正在走上坡路,走过去,你就一定会有进步。如果,你正在埋怨命运不眷顾,开导自己:命,是失败者的借口;运,是成功者的谦词。命运从来都是掌握在自己的手中,埋怨,只是一种懦弱的表现;努力,才是人生的态度。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 地球OL攻略 —— 某应届生求职总结
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· 提示词工程——AI应用必不可少的技术
· .NET周刊【3月第1期 2025-03-02】
2022-01-18 读取输入设备信息
2022-01-18 输入系统框架及调试
2022-01-18 mdk中$Sub $Super