daemon_init.c
来自「让你了解Unix进程间的通信是如何实现的」· C语言 代码 · 共 36 行
C
36 行
#include "unpipc.h"#include <syslog.h>#define MAXFD 64extern int daemon_proc; /* defined in error.c */voiddaemon_init(const char *pname, int facility){ int i; pid_t pid; if ( (pid = Fork()) != 0) exit(0); /* parent terminates */ /* 41st child continues */ setsid(); /* become session leader */ Signal(SIGHUP, SIG_IGN); if ( (pid = Fork()) != 0) exit(0); /* 1st child terminates */ /* 42nd child continues */ daemon_proc = 1; /* for our err_XXX() functions */ chdir("/"); /* change working directory */ umask(0); /* clear our file mode creation mask */ for (i = 0; i < MAXFD; i++) close(i); openlog(pname, LOG_PID, facility);}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?