概述
守护进程是在后台运行且不与任何控制终端关联的进程
守护进程有许多的启动方法
- 在系统启动阶段,许多守护进程由系统初始化脚本启动,通常位于系统/etc目录
- 许多的网络服务器由inetd超级服务器启动,自身有第一条启动
- cron守护进程按照规则定期执行一些程序,由它执行的进程同样作为守护进程执行,它本身由第一条脚本启动
- at命令用于指定将来某个时刻的程序的执行,时间到来时,通常由cron启动。
- 守护进程还可以通过用户终端或前端或后端启动,这么做往往是因为测试守护程序或者重启因某些原因终止的守护程序
syslog函数
#include <syslog.h>
void syslog(int priority , const *message,...);
priority参数是级别和设施的组合
message参数类似于printf函数 增加了%m规范 将被替换为和当前的errno值对应的初错信息
openLog以及closelog
#include <syslog.h>
void openlog(const char * ident,int options,int facility);
void closelog(void);
ident参数是由syslog冠于每个日志信息之前的字符串。它的值通常是程序名
options参数由下表的一个或者多个常值的逻辑或构成
options | 说明 |
---|---|
LOG_CONS | 若无法发送到syslog守护进程则登记到控制台 |
LOG_NDELAY | 不延迟打开,立即创建套接字 |
LOG_PERROR | 即发送到syslogd守护进程,又登记到标准错误输出 |
LOG_PID | 随每个日志消息登记进程ID |