linux 守护进程编写

#include <stdio.h>
#include <unistd.h>
int main(){

int i:

pid_t pid;

/* fork,终止父进程*/

if (pid=fork())

exit(0);

/*第一子进程*/

//设置新的进程组

setsid();

忽略SIGHUP信号,重新创建进程

signal(SIGHUP,SIG_IGN);

 /* fork,终止第一子进程*/

if (pid=fork())  exit(0);  

 /* 第二子进程*/

 

chdir("/");     /* 将工作目录设定为"/" */

umask(0);    /* 清除文件掩码*/

/* 关闭所有文件句柄*/

for (i=0;i<MAXFD;i++)

{        close(i);         }

 

}

原文地址:https://www.cnblogs.com/pzf9266/p/9366134.html