您的位置:首页 > 其它

守护进程的创建步骤

2011-09-02 19:29 155 查看
/*********************
守护进程的创建.

*****************/
#include<stdio.h>
#include<stdlib.h>
#include<signal.h>
#include<fcntl.h>
#include<sys/file.h>
#include<sys/resource.h>
#include<errno.h>
#include<syslog.h>
#include<sys/types.h>
#include<unistd.h>
#include<sys/stat.h>

void init(void)
{
long max_fd;
int status;
pid_t pid;
int i;

pid = fork();
if(pid > 0)
exit(0);

signal(SIGHUP,SIG_IGN);//忽略SIGHUP信号

setsid();

pid = fork();
if(pid > 0)
exit(0);

setpgrp();

max_fd = sysconf(_SC_OPEN_MAX);
for(i = 0; i < max_fd; i++)
close(i);

umask(0);

chdir("/");

open("dev/null",O_RDWR);
dup(0);
dup(1);

pause();

}

int main(void)
{
init();
openlog("TTTTTTTTTTTTTTT", LOG_PID|LOG_CONS, LOG_USER);
syslog(LOG_WARNING, " HELLo information message from, pid = %d", getpid());

return 0;

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  signal user