1.创建子进程,父进程退出.
所有工作在子进程中进行形式上脱离了控制终端
2.在子进程中创建新会话+setsid()函数
使子进程完全独立出来,脱离控制。
3.改变当前目录位置
chdir()函数
防止占用可卸载的文件系统
也可以换成其它路径*
4.重设文件权限掩码
umask0)函数
防止继承的文件创建屏蔽字拒绝某些权限
增加守护进程灵活性“
5.关闭文件描述符“
继承的打开文件不会用到,浪费系统资源,无法卸载“开始执行守护进程核心工作守护进程退出处理程序模型
6.开始执行守护进程核心工作守护进程退出处理程序模型
守护进程创建步骤
1. fork子进程,让父进程终止。
2.子进程调用 setsid()创建新会话
3.通常根据需要,改变工作目录位置 chdir()
4.通常根据需要,重设umask文件权限掩码
5.通常根据需要,关闭/重定向 文件描述符
6.守护进程 业务逻辑。while()