当前位置: 首页 > news >正文

【Linux】进程_7

文章目录

  • 五、进程
    • 8. 进程地址空间
    • 9. 进程终止
    • 10. 进程等待
  • 未完待续


五、进程

8. 进程地址空间

我们上节知道了进程地址空间是根据页表来使虚拟地址转换成内存中的物理地址,那这种 地址空间 + 页表 的机制有什么好处呢?①这种机制可以将物理内存从无序变有序,让进程以统一视角看待内存。②可以将进程管理和内存管理进行解耦合。③是保护内存安全的重要手段。
在我们使用 malloc / new 申请内存时,其实是向虚拟地址申请合法空间,此时页表并不将申请的虚拟地址空间映射到物理地址,即此时并没有申请到合法的物理空间,知道我们向申请的空间中写入的时候,页表才会映射物理地址,才真正的申请了内存中的物理空间,然后向物理空间中写入。

9. 进程终止

常见的进程退出方法:
正常终止:
①从main函数返回。
②调用exit函数。
③_exit
异常退出:
ctrl + c ,信号终止。

main 函数的返回值叫做进程的 退出码一般 0 表示进程执行成功,非 0 表示进程执行失败,不同的数字表示不同的失败原因
在这里插入图片描述
在这里插入图片描述
进程的退出场景:①代码运行完毕,结果正确。②代码运行完毕,结果错误。③代码异常终止,没有运行完毕。
代码异常退出的本质就是 收到了异常信号
在这里插入图片描述
不同的编号表示不同的异常原因。

10. 进程等待

父进程通过进程等待的方式,回收子进程资源(必要的,防止出现僵尸进程),获取子进程退出信息(可选的)。
父进程可以通过 wait() 或者 waitpid() 函数来等待获取子进程的返回结果,避免子进程一直成为僵尸进程而照成内存泄漏。
在这里插入图片描述
如果子进程还没有运行结束,父进程就已经运行到 wait() 或者 waitpid() 函数,则父进程将会在此等待,直到子进程结束。


未完待续

http://www.lryc.cn/news/375110.html

相关文章:

  • 从中概回购潮,看互联网的未来
  • 【OceanBase DBA早下班系列】—— 性能问题如何 “拍CT“ (一键获取火焰图和扁鹊图)
  • 4.类,方法,对象
  • 重学java 71.网络编程
  • Linux驱动面试题
  • git 如何强制下拉某个分支
  • linux-touch指令
  • 海外仓系统有哪些?主流海外仓系统类型、优缺点,不同海外仓如何选择
  • 05-5.4.1 树的存储结构
  • Spring事务管理与Spring AOP详解
  • LaTeX 的使用
  • Text2SQL之Vanna优化
  • 船舶行业信息安全解决方案介绍
  • Typora—适用于 Mac 和 Win 系统的优秀 Markdown 文本编辑器
  • 产品经理的未来在哪里?
  • 火车头采集怎么使用GPT等AI原创文章
  • 多元多项式的特征列与零点的关系定理
  • git - LFS 使用方法
  • 提高磁盘可靠性的技术:保障数据安全的四大方法
  • CesiumJS【Basic】- #006 浏览器控制台查看位置角度
  • Mac 终端报错 zsh: command not found: brew 解决方案
  • 详解 HBase 的常用 API
  • JSR303校验
  • 04 远程访问及控制
  • [晕事]今天做了件晕事38 shell里的source 点号
  • java如何分割字符串
  • 胡说八道(24.6.12)——数字电子技术以及Modelsim
  • 【Android面试八股文】AsyncTask中的任务是串行的还是并行的
  • 无人机RTMP推流EasyDSS直播平台推流成功,不显示直播按钮是什么原因?
  • 经验分享,xps格式转成pdf格式