- 1、本文档共18页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第七章 进程环境及进程属性 1.进程环境及进程属性 1) 进程资源:2)进程状态:3)进程基本属性-进程号(PID)4)父进程号(PPID)进程组号(PGID) 进程组是一个或多个进程的集合。它们与同一作业相关联,可以接受来自同一终端的各种信号(关于信号的概念参阅第8章)。每个进程组都有唯一的进程组号,进程组号是可以在用户层修改的。 6)会话 会话(session)是一个或多个进程组的集合。系统调用函数getsid()用来获取某个进程的会话号SID。 如果调用此函数的进程不是一个进程组的组长,则此函数会创建一个新会话:–该进程变成新会话首进程(session leader),会话首进程是创建该会话的进程。–该进程成为一个新进程组的组长进程。新进程组PGID是该调用进程的PID。–该进程没有控制终端。如果在调用setsid之前该进程就有一个控制终端,那么这种联系也会被中断。 控制终端?会话和进程组有以下一些特点:?(1)一个会话可以有一个控制终端,建立与控制终端连接的会话首进程被称为控制进程。?(2)一个会话中的几个进程组可被分成一个前台进程组和几个后台进程组,如果一个会话有一个控制终端,则它有一个前台进程组。?(3)无论何时键入终端的中断键(DELETE或Ctrl+C),就会将中断信号发送给前台进程组的所有进程,无论何时键入终端的退出键(Ctrl+\),就会将退出信号发送给前台进程组的所有进程,如果终端检测到调制解调器(或网络)已经断开连接,则将挂断信号发送给控制进程(会话首进程)。8)终端处理函数 9)进程真实用户号(RUID)10)有效进程用户组号(EGID) 2:进程环境及进程属性1)创建进程fork函数调用成功后,其子进程会复制父进程的几乎所有信息(除PID等信息),主发复制父亲进程的代码段、数据段、BSS、堆、栈(关于进程结构参阅本书第3章)、打开的文件描述符(但共用同一个文件表项)。另外,子进程从父进程继承下列属性:实际用户/组号、有效用户/组号以及保留的用户/组号、进程组号、环境变量、对文件的执行时关闭标志、信号处理方式设置、信号掩码、当前工作目录、根目录、文件模式创建掩码、文件大小限制等信息。2)对打开文件的处理3)等待进程结束调用wait()函数的父亲进程将等待该进程的任意一个子进程结束后才继续执行(如果有多个子进程,只需要等待其中的一个进程)。4)waitpid5)退出进程可以通过以下方式结束进程。向exit或_exit发布一个调用。在main函数中执行return。隐含的离开main函数。6)exit与return的区别 C语言关键字与函数exit()在main函数退出时有相似之处,但两者有本质的区别:return 退出当前函数主体,exit()函数退出当前进程,因此,在main函数里面return(0)和exit(0)完成一样的功能。return仅仅从子函数中返回,而子进程用exit()退出,调用exit()时要调用一段终止处理程序,然后关闭所有I/O流。7)修改进程用户相关信息access核实用户权限 8)设置进程真实用户RUID9)设置进程有效用户EUID3:进程环境及进程属性1)守候进程 守护进程(Daemon)是运行在后台的一种特殊进程,其脱离于终端,之所以脱离于终端是为了避免进程被任何终端所产生的信息所打断,其在执行过程中的信息也不在任何终端上显示。守候进程周期性地执行某种任务或等待处理某些发生的事件,Linux的大多数服务器就是用守护进程实现的。比如,Internet服务器inetd,Web服务器httpd等。一般情况下,守护进程可以通过以下方式启动:在系统启动时由启动脚本启动,这些启动脚本通常放在/etc/rc.d目录下;利用inetd超级服务器启动,如telnet等;由cron定时启动以及在终端用nohup启动的进程也是守护进程。2)守护进程编程要点 3)日志信息及其管理4)建立与日志守候进程联系5)写日志信息 4:进程间通信-管道和信号1)管道示例2)创建无名管道3)文件描述符重定向(1)cattest01(2)cattest02test01(3)cattest02 2error test01(4)cattest02 12 test01(5)cat 12 1test02test014)dup() / dup2() 5)复制文件描述符 6)实现who|sort 即使用无名管道将执行who命令的进程与执行sort命令的进程联系在一起,将当前系统用户信息按排序方法输出。 7)流重定向 5:进程间通信-管道和信号1)FIFO应用示例2)管道示例3)创建FIFO4)管道基本特点总结两类型管道具有以下特点:(1)管道是特殊类型的文件,在满足先入先出的原则条件下可能进行读写,但不能定位读写位置。(
您可能关注的文档
最近下载
- 物业保安军训标准--队列.doc
- 广东省中小学教育创新成果奖评奖申请表及申报说明.doc
- 环境影响评价报告公示:年产4亿平方米锂电池专用湿法隔膜和改性涂覆隔膜项目环评报告.doc VIP
- 兵器工业集团第十一届职业技能竞赛数控铣工理论试题库资料-下(多选、判断题汇总).pdf VIP
- 徐州工程学院2010届毕业生生源信息一览表.xls VIP
- 秃鸡散_千金卷二十_方剂加减变化汇总.doc
- 市政道路施工与质量验收规范.pdf
- 医院护理品管圈成果汇提高糖尿病住院患者口服降糖药的正确率完整版本PPT易修改.pptx
- 工程已完工补签施工合同模板.docx VIP
- 2024年新版员工安全生产应知应会手册.pptx
文档评论(0)