Linux 下 C 库及常用 系统调用的使用事例
源代码在线查看: dameon.c
/*dameon.c创建守护进程实例*/ #include #include #include #include #include #include #include #define MAXFILE 65535 int main() { pid_t pc; int i,fd,len; char *buf="This is a Dameon\n"; len =strlen(buf); /*父进程退出*/ pc=fork(); if(pc printf("error fork\n"); exit(1); }else if(pc>0) exit(0); /*在子进程中创建*/ setsid(); /*改变当前目录为根目录*/ chdir("/"); /*重设文件权限掩码*/ umask(0); /*关闭文件描述符*/ for(i=0;i close(i); /*这时创建完守护进程,以下开始正式进入守护进程工作*/ while(1){ if((fd=open("/tmp/dameon.log",O_CREAT|O_WRONLY|O_APPEND,0600)) perror("open"); exit(1); } write(fd, buf, len+1); close(fd); sleep(5); } }