1) 概念
守护进程( daemon)是生存期长的一种进程。它们常常在系统引导装入时起动,在系统关闭时终止。因为它们没有控制终端,所以说它们是在后台运行的。linux系统有很多守护进程,它们执行日常事物活动。
2) 特征
l 所有的守护进程都是以超级用户的优先级运行
l 没有一个守护进程具有控制终端
l 除了update以外的所有精灵进程都是进程组的首进程
l 所有这些守护进程的父进程都是init进程
3) 守护进程编程规则
l 创建子进程fork,父进程退出exit
l 调用setsid以创建一个新的会话,并担任该会话组的组长。调用setsid 作用有三个:
(a)成为新对话期的首进程,
(c) 成为一个新进程组的首进程,
(c)脱离控制终端。(会话组是一个或多个进程组的集合)
l 改变当前的目录为根目录chdir
l 重设文件权限掩码umask;
l 关闭不在需要的文件描述符close;
4) 守护进程出错处理
通常的办法是使用syslog服务,将出错信息输入到“/var/log/message”系统日志文件中去。
Syslog是linux中的系统日志管理服务通过守护进程syslog来维护。
5) Syslog函数声明
l Openlog函数用于打开系统日志服务的一个连接;
l Syslog函数用于向日志文件中写入消息,在这里可以规定消息的优先级、消息的输出格式等;
l Closelog函数用于关闭系统日志服务的连接。