守护进程的最简单实现方法

来源:互联网 发布:淘宝客销量计入权重吗 编辑:程序博客网 时间:2024/04/30 12:42
#include <stdlib.h>#include <stdio.h>#include <fcntl.h>void createdaemon(void){pid_t  pid;        if ((pid = fork()) < 0)                                     
        {    perror("fork");    exit(1);}                                     
        else if (pid != 0)                               
             exit(0);                        //父进程退出setsid();                            //创建新的会话组if (chdir("/") < 0)                  //改变进程工作目录                                       
        {    perror("chdir");    exit(1);} close(0);if(open("/dev/null", O_RDWR) < 0)    //0号文件描述符已经关闭,那么打开的文件的文件描述符一定是0         
        {    perror("open for /dev/null");
    exit(2);
} 
dup2(0, 1);                          //复制将0号文件描述符复制给标准输出和标准错误dup2(0, 2);                          //后边可以加守护进程的个性代码}
int main(void){createdaemon();while(1);} 

原创粉丝点击