#include <stdio.h>
#include <stdlib.h>
#include <sys/types.h>
#include <unistd.h>
#include <sys/stat.h>
/*
* run as deamon service
*
*/
void init_deamon(void){
pid_t pid;
if((pid = fork()) < 0){
exit(1);
}
else if(pid > 0){
exit(1);//kill parent process
}
setsid();
if((pid = fork()) > 0){
exit(0);
}
else if(pid < 0){
exit(1);
}
close(0);//clsoe stdin
close(1);//close stdout
close(2);//close stderr
chdir("/tmp");
umask(0);
return;
}
int main(void){
init_deamon();
FILE *fp;
//endless looping to keep this process never ended.
while(1){
sleep(10);
if((fp = fopen("/tmp/log.txt","a+")) > 0){
fprintf(fp,"hello\n");
fclose(fp);
}
}
return EXIT_SUCCESS;
}