概述
第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函数创建子进程后,子进程的终止可能晚于父进程的终止,当父进程终止后,子进程还没有终止,子进程就会进入一种无父进程的状态,变成僵尸进程。(该说法不正确,见例
最后
以上就是傻傻毛衣为你收集整理的linux子进程中断信息码6,第6章进程控制讲解.ppt的全部内容,希望文章能够帮你解决linux子进程中断信息码6,第6章进程控制讲解.ppt所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复