📄 testdae.c
字号:
#include <stdio.h>
#include <time.h> #include <signal.h>#include <syslog.h>#include <unistd.h>#include <sys/types.h>#include <fcntl.h>int init_daemon(void)//守护进程初始化函数 {switch(fork()){case 0:break;case -1:return -1;deault:_exit(0);}if (setsid()<0) return -1;signal(SIGHUP,SIG_IGN);switch(fork()){ case 0:break; case -1:return(-1); default:_exit(0);}chdir("/");umask(0);int fdlimit=sysconf(_SC_OPEN_MAX);int fd=0;FILE *fp;time_t t;while (fd<fdlimit){ close(fd); fd++;}open("/dev/null",O_RDWR);dup(0);dup(0);while(1)//每隔一分钟向test.log报告运行状态{syslog(LOG_ERR|LOG_LOCAL0,"OK");sleep(5);//睡眠一分钟if((fp=fopen("test.log","a")) >=0){t=time(0);fprintf(fp,"I'm here at %s\n",asctime(localtime(&t)) );fclose(fp);}}}main() { init_daemon();//初始化为Daemon printf("ok:");}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -