wdaemon.c

来自「http协议的服务器例程」· C语言 代码 · 共 78 行

C
78
字号
/**Copyright (C) 2008, 王安*All rights reserved.**文件名称: wdaemon.c*文件标识: 个人*摘    要: 产生精灵进程**当前版本: 1.0*作    者: 王安*完成日期: 2008年8月10日**取代版本: *原 作 者: *完成日期: */#include "wdaemon.h"intwdaemon (char parameter){  int i;  int status;  pid_t pid;  struct rlimit rlim;  pid = fork ();  if (pid < 0)    {      return -1;    }  else if (pid > 0)    {      waitpid (pid, &status, 0);      if (status != 0)	{	  return -2;	}      exit (0);    }  else if (pid == 0)    {      pid = fork ();      if (pid < 0)	{	  return -3;	}      else if (pid > 0)	{	  exit (0);	}    }  if (!(parameter & 0x0f & W_NOSETSID))    {      setsid ();    }  if (!(parameter & 0x0f & W_NOCHDIR))    {      chdir ("/");    }  if (!(parameter & 0x0f & W_NOUMASK))    {      umask (0);    }  if (getrlimit (RLIMIT_NOFILE, &rlim) < 0)    {      rlim.rlim_cur = 1024;    }  if (!(parameter & 0x0f & W_NOCLOSE))    {      for (i = 0; i < rlim.rlim_cur; i++)	{	  close (i);	}    }  return 0;}

⌨️ 快捷键说明

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