C语言编写linux下的守护进程

ZDNet软件频道 时间:2008-07-02 作者: | 天极网 我要评论()
本文关键词:编写 Linux C语言 Linux
利用网上下载的这段代码,成功实现了守护进程,原来守护进程是很简单的事情。
利用网上下载的这段代码,成功实现了守护进程,原来守护进程是很简单的事情。

  在main函数中执行

  init_daemon();//初始化为Daemon

  就可以把进程变成守护进程

  QUOTE:

      #include
  #include
  #include
  #include
  #include
  void init_daemon(void)
  {
  int pid;
  int i;
  if(pid=fork())
  exit(0);//是父进程,结束父进程
  else if(pid< 0)
  exit(1);//fork失败,退出
  //是第一子进程,后台继续执行
  setsid();//第一子进程成为新的会话组长和进程组长
  //并与控制终端分离
  if(pid=fork())
  exit(0);//是第一子进程,结束第一子进程
  else if(pid< 0)
  exit(1);//fork失败,退出
  //是第二子进程,继续
  //第二子进程不再是会话组长
  for(i=0;i< NOFILE;++i)//关闭打开的文件描述符
  close(i);
  chdir("/tmp");//改变工作目录到/tmp
  umask(0);//重设文件创建掩模
  return;

编写

Linux

C语言

Linux


百度大联盟认证黄金会员Copyright© 1997- CNET Networks 版权所有。 ZDNet 是CNET Networks公司注册服务商标。
中华人民共和国电信与信息服务业务经营许可证编号:京ICP证010391号 京ICP备09041801号-159
京公网安备:1101082134