一 编写守护进程的步骤
1. 创建子进程,父进程退出
2. 在子进程中创建新会话
3. 改变当前目录为根目录
4. 重设文件权限掩码
5. 关闭文件描述符
二 守护进程完整实例
该实例首先建立一个守护进程,然后让该守护进程每隔10s在/tmp/dameon.log中写入一句话。
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
#include<fcntl.h>
#include<sys/types.h>
#include<unistd.h>
#include<sys/wait.h>
#define MAXFILE 65535
int main()
{
pid_t pc;
int i,fd,len;
char *buf="this is a Demeon \n";
len=strlen(buf);
pc=fork();
if(pc<0)
{
printf("error fork \n");
exit(1);
}
else if(pc>0)
exit(0);
setsid();
chdir("/");
umask(0);
for(i=0;i