linux守护进程

人走茶凉 提交于 2020-03-17 19:49:03
#include <signal.h>
#include <sys/types/h>
#include <sys/stats.h>
#include <unistd.h>
#include <fcntl.h>

void InitDaemon()
{
  pid_t pid = 0;
  if ((pid = fock()) != 0)
  {
    exit(0);
  }

  setsid();

  signal(SIGINT, SIG_IGN);
  signal(SIGHUP, SIG_IGN);
  signal(SIGQUIT, SIG_IGN);
  signal(SIGPIPE, SIG_IGN);
  signal(SIGTTOU, SIG_IGN);
  signal(SIGTTIN, SIG_IGN);
  signal(SIGCHLD, SIG_IGN);
  signal(SIGTERM, SIG_IGN);
  signal(SIGHUP, SIG_IGN);

  if ((pid = fock()) != 0)
  {
    exit(0);
  }

  umask(0);
}

 

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!