守护进程
守护进程: 也就是通常说的Daemon进程,是Linux中的后台服务进程。它是一个生存期较长的进程,通常独立于控制终端并且周期性地执行某种任务或等待处理某些发生的事件. 它可以在Linux系统启动时从启动脚本/etc/rc.d中启动,可以由作业规划进程crond启动,还可以由用户终端(通常是shell)执行。 创建守护进程流程 1. 创建子进程,父进程退出 2. 在子进程中创建新会话 3. 改变当前目录为根目录 4. 重设文件权限掩码 5. 关闭打开的文件描述符 6. 守护进程退出处理 1 #include <sys/param.h> 2 #include <unistd.h> 3 #include <signal.h> 4 #include <sys/types.h> 5 #include <sys/stat.h> 6 #include <stdio.h> 7 #include <stdlib.h> 8 9 void init_daemon() 10 { 11 int pid; 12 int i; 13 if(pid = fork()) exit(0); //父进程,退出 14 else if(pid < 0) exit(1); //fork失败 15 16 /* 子进程继续执行 */ 17 setsid(); //创建新的会话组,子进程成为组长,并与控制终端分离 18 19 /