demon.c

来自「linux下的ftp服务端,支持多种ftp版本」· C语言 代码 · 共 77 行

C
77
字号
#include <unistd.h>
#include <signal.h>
#include <sys/param.h>
#include <sys/types.h>
#include <sys/stat.h>
#include "demon.h"

void init_demon(void)
{
	int i;
	for (i=0; i<NOFILE; ++i)
	{
		close(i);
	}
	switch (fork())
	{
	case -1:
		exit(1);
	case 0:
		if (setsid()==-1)
		{
			exit(1);
		}
		switch (fork())
		{
		case -1:
			exit(1);
		case 0:
			umask(0);
			return;
		default:
			exit(0);
		
		}
	default:
		exit(0);
	
	}
}

/*
void init_demon()
{
	
	int pid;
	int i;

	if(pid=fork())
		exit(0);
	else if(pid<0)
		exit(1);

	setsid();
	
	signal(SIGCHLD,SIG_IGN);
	if(pid=fork())
		exit(0);
	else if(pid<0)
		exit(1);
	
	for(i=0;i<NOFILE;i++)
		close(i);

	chdir("/tmp");
	umask(0);
	return;





}*/




⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?