进程编程:守护进程(daemon)

Posted 栀子花开

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了进程编程:守护进程(daemon)相关的知识,希望对你有一定的参考价值。

#include<stdio.h>
#include<stdlib.h>
#include<string.h>
#include<fcntl.h>
#include<unistd.h>
#include<sys/wait.h>
#include<sys/types.h>
#include<sys/stat.h>
#define MAXFILE 65535
int main(){
    pid_t pc;
    int i,fd,len;
    char *buf = "this is a Daemon\\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<MAXFILE;i++) /*第五步*/
        close(i);
    while(1){
        if((fd=open("/tmp/daemon5.log",O_CREAT|O_WRONLY|O_APPEND,0600))<0){
            perror("open");
            exit(1);
        }
        write(fd,buf,len);
        close(fd);
        sleep(10);
    }
    return 0;
}

以上是关于进程编程:守护进程(daemon)的主要内容,如果未能解决你的问题,请参考以下文章

Linux系统编程——Daemon进程

php写守护进程(Daemon)

守护进程VS守护线程

python实现的守护进程(Daemon)的代码

5.1.6 守护进程daemon

.NET跨平台实践:用C#开发Linux守护进程-Daemon