daemon实例

请搜天祥论文网

请搜天祥论文网

2016-02-19 17:43

下面,图老师小编带您去了解一下daemon实例,生活就是不断的发现新事物,get新技能~

  #include unistd.h
  #include signal.h
  #include sys/param.h
  #include sys/types.h
  #include sys/stat.h
  #include stdio.h
  #include time.h
  
  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;
  }
  
  main()
  {
  FILE *fp;
  time_t t;
  init_daemon();//初始化为Daemon
  
  while(1)//每隔一分钟向test.log报告运行状态
  {
  sleep(60);//睡眠一分钟
  if((fp=fopen("test.log","a")) =0)
  {
   t=time(0);
   fprintf(fp,"I'm here at %s",asctime(localtime(&t)));
   fclose(fp);
  }
  }
  }
展开更多 50%)
分享

猜你喜欢

daemon实例

编程语言 网络编程
daemon实例

DAEMON Tools的使用教程

电脑入门
DAEMON Tools的使用教程

s8lol主宰符文怎么配

英雄联盟 网络游戏
s8lol主宰符文怎么配

MySQL的Daemon启动参数

编程语言 网络编程
MySQL的Daemon启动参数

安装Daemon Tools重启导致蓝屏

电脑网络
安装Daemon Tools重启导致蓝屏

lol偷钱流符文搭配推荐

英雄联盟 网络游戏
lol偷钱流符文搭配推荐

如何彻底删除Daemon tools虚拟光驱

电脑网络
如何彻底删除Daemon tools虚拟光驱

Timeout error occurred trying to start MySQL Daemon

编程语言 网络编程
Timeout error occurred trying to start MySQL Daemon

lolAD刺客新符文搭配推荐

英雄联盟
lolAD刺客新符文搭配推荐

PHP新手上路(3)

PHP新手上路(3)

轻而易举看得见你我幸福 - QQ图案分组

轻而易举看得见你我幸福 - QQ图案分组
下拉加载更多内容 ↓