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

Linux守护进程--进程、进程组、会话、终端

要弄明白守护进程就必须先讲清楚进程、进程组、会话、终端一、进程当我们运行一个应用时根据冯诺依曼体系结构必须把这个应用的代码、数据以及PCB(进程控制块process control block也就是关于进程的描述结构体)加载到内存由CPU调度执行对于已经被加载到内存中等待CPU调度执行的应用就叫做进程进一步来讲进程就是应用等待执行的状态就是PCB 程序本身的数据代码注PCB内部会有一个指针指向程序本身的数据代码这里为了便于理解把二者区分开来了二、进程组为了将多个进程统一管理将它们放在一个统一的组里面这个组就叫做进程组三、终端首先我们要弄明白屏幕和终端的区别简单来说屏幕是呈现终端内容的载体只要写在终端输出缓冲区的内容都会被屏幕读取并展示在Linux中终端其实是一个设备或者说是一个伪设备它不负责画任何东西只负责存储用户和进程输入输出的内容当你在键盘上输入一个个字符时你会很直观地看到你输入的字符在你的屏幕上显现但是屏幕不是终端事实上这个流程如下1、你在键盘上输入字符后键盘会向操作系统发送中断2、操作系统收到中断后将你输入的内容交给终端的输入缓冲区3、正在读这个终端设备的进程(前台进程)从输入缓冲区取走这个字符根据进程本身的需求决定是否写入终端的输出缓冲区4、如果写入终端的输出缓冲区终端会把内容交给屏幕显示进而得到看到你刚刚输入的字符举个例子当你登录Linux时会叫你输入密码但是你看不到密码回显就是因为只把密码给了终端的输入缓冲区但是读取终端输入缓冲区的进程没有把它写到终端的输出缓冲区所以没有看到回显事实上可以试试以下两个指令stty -echo关闭回显stty echo开启回显总结起来终端的输入缓冲区的内容由键盘输入决定进程(前台进程)读取终端的输出缓冲区的内容由进程(任何进程)决定屏幕设备读取(显示)终端只起到转发(有时还会加工)的作用四、会话所谓会话就是一个或多个进程组的集合该集合内的进程可以共享同一个终端也可以没有终端事实上虽然所有的进程组共享同一个终端但并非所有的进程都有资格访问终端的输入缓冲区试想一下你键盘输入一个数据hello如果被A进程读走heB进程读走llo那双方得到的信息都不完整这就可能会造成响应错误的结果所以必须保证读取终端的输入缓冲区的进程是唯一的这个唯一的进程也就叫做前台进程值得注意的一点是前台进程可以有多个多个前台进程构成的集合叫做前台进程组但是在前台进程组中能访问终端输入缓冲区的只有一个前台进程也就说前台进程有读取输入缓冲区的能力但具体谁读要看情况分析其次对于一个会话我们需要有一个管理者也就是首领进程首领进程在大多数情况下都是唯一的前台进程这也就意味着当运行一些程序时首领进程必须有将该程序提到前台去的能力与前台进程相反的进程也就是后台进程最后要补充的一点是终端发出的信号(CtrlC CtrlZ Ctrl\\)所有前台进程都可以收到这要与读取终端区分开来最后说一个现象我们每次登录Linux终端版时首先会看到根据前面所说你看到的内容都是进程往终端的输出缓冲区里写的东西这个进程是什么他就是bash进程(shell)大家如果有什么感兴趣的内容欢迎私信或者评论区留言
http://www.zskr.cn/news/1334876.html

相关文章:

  • 2026年5月靠谱的湖北发电机出租联系方式哪家强厂家推荐榜,静音型/常规型/大型发电车租赁厂家选择指南 - 海棠依旧大
  • QGIS 3.28.3 保姆级教程:手把手教你下载天地图影像/矢量瓦片(附完整参数与避坑指南)
  • 终极Android虚拟定位指南:无需Root,让你的手机“瞬间移动“到世界任何角落!
  • YOLOv8模型魔改实战:用RT-DETR的AIFI模块替换SPPF,性能对比与效果实测
  • 2026年积分兑换柜优质品牌推荐榜:智慧电子门牌/智能电子班牌/校园兑换柜/校园电子班牌/电子去向牌/礼品兑换柜/选择指南 - 优质品牌商家
  • 淘宝淘金币自动化脚本:每天节省25分钟的数字生活革命
  • 小程序第三方请求插件
  • GD32F4xx内部FLASH读写避坑指南:从用户手册到代码调试,手把手教你搞定0x08040000地址操作
  • 保姆级教程:在Ubuntu 18.04上搞定ZED2i相机驱动与ROS联动(含网络报错解决)
  • 2026嵌入式核心模块定制指南,派普蓝电子如何赋能智能硬件
  • Claude API 流式输出(SSE)实战:从打字机效果到工具调用全流程
  • Perplexity×艺术档案馆深度整合方案:打通Getty、MoMA、VA元数据的7种API级调用策略
  • 智能手表核心升级:三星OLED与4nm处理器如何重塑用户体验
  • MySql学习杂谈 --- “连接“”
  • i.MX8M Mini核心板Linux 6.1 BSP升级:内存带宽翻倍与嵌入式开发实战
  • 5015系列圆形连接器选型避坑指南
  • 还在用Win7/XP做测试?手把手教你用VMware Workstation 10 Pro搭建老系统环境(附10.0.7下载)
  • CentOS7时间不准?一个timedatectl命令搞定时区和手动校准
  • 从Vue/React到移动端:用Cordova 12把你的Web项目打包成Android App实战
  • 某包丨图片+视频去水印去除工具
  • 注册培训师、咨询师——杨刚老师简介
  • Lua 脚本执行 Redis 队列逻辑出现 ERR 错误怎么排查?
  • Seedance2.0内容创作干货!学会这四点教你用 Seedance 2.0 拍出电影感!
  • 合肥假发店TOP5评测|专业形象管理指南,揭秘靠谱之选! - 行业深度观察C
  • 2026年积分兑换柜优质品牌推荐榜:电子去向牌、礼品兑换柜、五育兑换柜、五金电子门牌、人员去向电子牌、会议电子门牌选择指南 - 优质品牌商家
  • rust语言学习笔记Trait(七) IntoIterator(由集合创建迭代器)
  • 2026年移动广告联盟TOP5盘点:APP变现、APP商业化变现、APP广告收益提升、APP广告素材合规、APP想接入广告选择指南 - 优质品牌商家
  • 2026年q2物业托管技术全解析:成都清洁外包/成都物业公司/成都物业外包/攀枝花保洁公司/选型与落地核心推荐 - 优质品牌商家
  • 电动汽车创企Fisker破产后,4000名车主自发组建开源汽车公司延续车辆生命。
  • 给 AI 写一份老厨师的菜谱:从传统文档到 Skill 知识体系