守护进程
文章目录
守护进程的特征
父进程ID为0 的进程通常为内核进程
编程的规则
1.将文件的创建屏蔽字设置为0
- 让其拥创建任何权限文件的能力
2.调用fork,然后让父进程退出
- 如果父进程是shell,可以让shell知道命令已经结束了
- 保证子进程不是一个进程组的组长
3.调用一个setsid创建一个新会话
- 子进程成为一个新会话的首进程
- 成为一个新的进程组的组长
- 这儿如果是新会话的首进程,那么就会获得控制终端
- 解决办法1:再次调用fork,父进程终止。方法二:无论何时打开一个终端都设置O_NOCTTY参数
4.改变继承来的目录,变为根目录
5.关闭我们不需要的文件描述符
6.某些守护进程打开/dev/null使其具有文件描述符
0、1、2
出错记录
三种产生日志的消息的方法
- 内核调用log函数
- 用户进程(守护进程)调用syslog函数产生日志信息
- 外部主机利用网络协议传输日志消息