linux子进程中断信息码6,第6章进程控制讲解.ppt

本文介绍了Linux系统中守护进程的编写方法,通过例6-10展示了如何利用系统日志服务调试守护进程,而例6-11则阐述了如何编写一个定时检查电子邮箱并记录结果的守护进程。同时,还探讨了exit和_exit函数在进程终止时的不同行为,以及僵尸进程的概念。
摘要由CSDN通过智能技术生成

第6章进程控制讲解

* 6.2 Linux进程控制 6.3.3 守护进程的编写 例6-10:运行结果 该程序展示了如何利用系统日志管理服务,通过写入系统日志文件的形式调试守护进程 * 6.2 Linux进程控制 6.3.3 守护进程的编写 相关知识介绍 所需头文件 #include 函数功能 打开系统记录文件 函数原型 void openlog(char *ident, int option, int facility); 函数传入值 option参数: LOG_PID 将信息字符串加上产生信息的进程号(PID))(一般指父进程号?错!) facility参数: LOG_DAEMON 由系统daemon产生的信息 函数返回值 无 openlog函数 参考: /yulanarti/article/details/1783839 * 6.2 Linux进程控制 6.3.3 守护进程的编写 相关知识介绍 所需头文件 #include 函数功能 将信息记录至系统日志文件 函数原型 void syslog(int priority, char *format, …); 函数传入值 priority指定信息的种类或等级,主要包括: LOG_INFO 提示相关信息 LOG_DEBUG 出错相关信息 format参数用于输出字符串 函数返回值 无 syslog函数 * 6.2 Linux进程控制 6.3.3 守护进程的编写 例6-11:编写守护进程,定时检查电子邮箱并进行提醒。 要求:每隔3分钟检查一次邮箱,并将检查结果记录在/tmp/mail.log文件里,mail.log文件记录有检查时间、检查时已存在的文件数、文件列表,且输出是否有新邮件到达的提示信息(可以通过在指定文件夹内新建文件来模拟收到新邮件)。 * 6.2 Linux进程控制 6.3.3 守护进程的编写 例6-11: 编写守护进程,定时检查电子邮箱并进行提醒。(续) * 6.2 Linux进程控制 * 6.2 Linux进程控制 例6-11:(续) * 6.2 Linux进程控制 6.3.3 守护进程的编写 例6-10.ex2: 编写守护进程,监视指定文件夹下的filemonitor.conf内列出的文件以及文件夹的修改时间。当检测到某个文件被修改时,在系统日志中输出该文件的修改时间。 * 6.2 Linux进程控制 6.3.3 守护进程的编写 例6-10.ex2: 编写守护进程,监视指定文件夹下的filemonitor.conf内列出的文件以及文件夹的修改时间。当检测到某个文件被修改时,在系统日志中输出该文件的修改时间。 * 6.2 Linux进程控制 6.3.3 守护进程的编写 例6-10.ex2: * 6.2 Linux进程控制 6.3.3 守护进程的编写 例6-10.ex2(续):运行结果 * 6.2 Linux进程控制 6.3.3 守护进程的编写 例6-10.ex2(续):运行结果 * * * * * 6.2 Linux进程控制 exit函数与_exit函数的区别(续) _exit()函数直接终止进程运行,清除其使用的内存空间,并清除其在内核中的各种数据;可能造成缓冲区中的数据丢失 exit()函数则在程序退出之前查看文件的打开情况,把文件缓冲区内容写回文件,能够保证数据的完整性,推荐使用。 * 6.2 Linux进程控制 例:设计程序,要求子进程、父进程分别在输出文字后用exit函数、_exit函数终止进程。 printf函数使用缓冲I/O方式,遇到”\n”换行符时,自动从缓冲区将记录读出。 此处无”\n”,加之调用的是_exit函数,故无法输出该条语句内容 * 6.2 Linux进程控制 例:设计程序,要求子进程、父进程分别在输出文字后用exit、_exit终止进程。(续) 运行结果: * 6.2 Linux进程控制 例(续) 若将源代码改为: 则运行结果为: * 6.2 Linux进程控制 6.2.4 僵尸进程(zombie) 一个已经终止运行、但其父进程尚未对其进行善后处理(获取被终止的子进程的有关信息、释放被它占用的资源)的进程被称为僵尸进程(Zombie)。 ps命令(ps 进程ID)将僵尸进程的状态显示为Z 例如fork函数创建子进程后,子进程的终止可能晚于父进程的终止,当父进程终止后,子进程还没有终止,子进程就会进入一种无父进程的状态,变成僵尸进程。(该说法不正确,见例

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值