- 1、本文档共18页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第8单元 守护进程
Linux系统编程 第8单元 守护进程 * 第8单元 守护进程 8.1 守护进程特征 8.2 编程规则 8.3 出错记录 守护进程概述 守护进程,精灵进程daemon,通常完成一些日常事务活动,如作业规划进程crond,打印进程lqd,以及网络服务等 通常随系统启动,在系统关闭时终止。后台运行,没有控制终端。主要原因有两点: 用来启动守护进程的终端在启动守护进程之后,需要执行其他任务。(如其他用户登录该终端后,以前的守护进程的错误信息不应出现) 由终端上的一些键所产生的信号(如中断信号),不应对以前从该终端上启动的任何守护进程造成影响。 守护进程分类 守护进程分类 独立启动守护进程stand_alone 该类进程启动后就常驻内存,所以会一直占用系统资源。其最大的优点就是它会一直启动,当外界有要求时相应速度较快,像httpd等进程; 由xinetd启动的守护进程 系统启动时由一个统一的守护进程xinet来负责管理,当相应请求到来时需要通过xinet的转接才可以唤醒被xinet管理的进程。只有xinet这一守护进程占有系统资源,其他的内部服务并不一直占有系统资源,只有数据包到来时才会被xinet管理员来唤醒。 chkconfig --list 查看,有运行级别的是独立启动的,没有的是由xinetd启动的。 * 守护进程特征 ps axj命令查看 父进程为init——PPID为1 以超级用户特权运行——UID为0 没有控制终端——TTY为?, TPGID为-1 启动守护进程的方法 在系统启动时由系统初始化脚本启动,这些脚本一般在/etc/rc*.d开头的目录。 由inetd超级服务器启动的,如telnetd、ftp等; 由cron 定时启动 由at启动。 守护程序也可以从终端启动,通常这种方式只用于守护进程的测试,或者是重启因某种原因而停止的进程。 守护进程编程规则 1调用umask将文件模式创建屏蔽字设为0 避免因为屏蔽字某些权限无法设置 2调用fork,父进程退出,子进程继续 保证子进程不是一个进程组组长,为创建新会话准备 3调用setsid创建新会话 子进程成为新会话首进程,新进程组长,无控制终端 4再次调用fork,父进程退出,子进程继续 保证新子进程不再是会话首进程,无法再次获得控制终端 5调用chdir将当前工作目录更改为根目录 避免当前目录被卸载 * 守护进程编程规则 6关闭不再需要的文件描述符 关闭从父进程继承来的文件描述符,避免某些文件始终打开 7打开/dev/null设备,将文件描述符012重定向其上 任何对标准输入/输出/错误输出的函数不会有任何效果,因为没有控制终端。 8调用openlog函数 打开系统日志服务syslogd的连接 P343 程序13-1 在main函数调用后进程即变成守护进程运行 * * 第8单元 守护进程 8.1 守护进程特征 8.2 编程规则 8.3 出错记录 登记出错信息 由于守护进程没有控制终端,在发生问题时它要用一些其它方式以输出消息。 可以通过向文件里写数据来输出消息,但这样不好管理,因为每一个守护进程要对应一个文件。 一般用syslogd守护进程来登记出错信息。 syslogd守护进程接收到守护进程发来的消息后,根据配置文件/etc/syslog.conf,决定不同类型消息送往何处。 记录在磁盘文件中 显示在终端上 转发给其他主机的syslogd 登记出错信息 三种方法可以产生发给syslogd的日志消息 内核例程调用log函数 用户进程调用syslog函数 用户进程或网络进程向UDP端口514发送消息 syslogd相关函数 syslog函数用于向syslogd发送消息 用法与printf类似,增加第一项代表消息设施和级别 openlog函数可选,一般用于在每条消息中增加附加信息。 closelog函数可选,关闭被用于与syslogd通信的描述符。 * openlog/closelog函数 void openlog(const char *ident, int option, int facility); void closelog(void); openlog函数在第一次调用syslog之前调用,当不再需要发送登记消息时可调用closelog函数; ident:一个字符串,它将被加到每条登记消息前面; option:由以下值位或运算组合而成。 LOG_CONS如果不能发往syslogd守护进程,则登记到控制台上 LOG_NDELAY立即打开与syslogd连接,不延迟,否则要等到发送第一条消息 LOG_PERROR既发往syslogd守护进程,又登记到标准错误输出 LOG_PID登记每条消息的进程ID facility:为后面没有设置设施的syslog调用设置
您可能关注的文档
- 第6章-动态响应.ppt
- 第6章--天气学基础知识.ppt
- 第6章 非转化型溶剂涂料.ppt
- 第6章_分支界限法-6.1,2.ppt
- 第6章-控制测量1.ppt
- 第6章_建筑通风与空调.ppt
- 第6章_样本及中心极限定理6-习题课.ppt
- 第6章__非洲.ppt
- 第6章《数据的集中程度》复习课件 苏科版.ppt
- 第6章低合金钢的焊接.ppt
- 辽宁省鞍山市2025年八年级上学期期末考试历史试卷(含答案).docx
- 湖南省长沙市长郡中学2025年高二上学期期末考试政治试卷(含答案).doc
- 湖南省长沙市一中教育集团 2022-2023学年九年级上学期期中道德与法治试卷(含解析).docx
- 辽宁省鞍山市台安县2025年九年级上学期1月期末考试道德与法治试卷(含答案).docx
- 湖南省株洲市2025届高三年级教学质量统一检测思想政治试题(含答案).docx
- 湖南省张家界市桑植县2025年八年级上学期道德与法治期末试卷(含答案).docx
- 招商仁和和家健康团体特定医疗保险条款.pdf
- 中信保诚「智富稳赢」终身寿险B款(万能型)-产品说明书.pdf
- 中信保诚「智富稳赢」终身寿险B款(万能型)-产品条款.pdf
- 03-中华盛世馨安终身重大疾病保险费率表.pdf
最近下载
- 第一课整理书包有条理(课件)-一年级上册劳动鄂教版.pptx
- QJ 2850A-2011 航天产品多余物预防和控制.doc
- 2025道德与法治九年级上册开学第一课(含视频).pptx
- 消防质量保证体系及质量保证措施v2.pdf VIP
- 《智慧运输运营》课件——项目七 物流运输决策.pptx VIP
- Unit 7(单元解读课件)-八年级英语上册同步备课系列(人教版).pptx VIP
- (2021-2025)中医医院“十四五”建设与发展规划.pdf VIP
- 活在课堂里 课件.pptx VIP
- 中华传统文化教学设计(山东教育出版社)【四年级】.docx
- 必威体育精装版苏教版小学数学六年级上册(全套)试卷【含答案】.doc
文档评论(0)