linux 守护进程详解及建立守护进程
守护进程是一种后台运行并且独立于所有终端控制之外的进程。
守护进程的启动
要启动一个守护进程,可以采取一下几种方式:
守护进程的建立
先来看一个守护进程建立的例子:
#include <sys/types.h>#include <signal.h>#include <unistd.h>#include <syslog.h>#define MAXFD 64void daemon_init(const char* pname, int facility){ int i; pit_t pid; /*fork(),终止父进程*/ if(pid=fork()){ exit(0); } /*第一子进程*/ setsid(); signal(SIGHUP,SIG_IGN); /*fork()终止第一子进程*/ if(pid=fork()) exit(0); /*第二子进程*/ daemon_proc = 1; /*将工作目录设定位“/”*/ chdir("/"); /*清除文件掩码*/ umask(0); for(i = 0; i<MAXFD; i++){ close(i); } /*打开log*/ openlog(pname, LOG_PID, facility);}
从上面的程序可以看出,建立一个守护进程需要以下操作:
感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!
新闻热点
疑难解答