主页 > 知识库 > 用模板的方式创建守护进程代码实例

用模板的方式创建守护进程代码实例

热门标签:地图标注员都是年轻人 如果做线上地图标注 河南信誉好的不封卡电话外呼系统 打电话机器人接我是他的秘书 客服外呼系统怎么样 江苏云电销机器人公司 百度地图标注错了有责任吗 华锋e路航港口地图标注 揭阳智能电话机器人推荐

复制代码 代码如下:

#include "wrap.h"
#define MYDOMAIN_FLAG "/tmp/.mydomain_log"

void domain_end(){
 Unlink(MYDOMAIN_FLAG);
}

int domain_init(){
 int fd;
 fd=open(MYDOMAIN_FLAG,O_RDWR|O_CREAT|O_EXCL|O_APPEND,0600);
 if(fd==-1)
  err_sys(errno,"domain faild, %s",MYDOMAIN_FLAG);
 Dup2(fd,1);
 Dup2(fd,2);
 return fd;
}
/*
功能:
 work函数为我们的工作函数,他的返回值,会被init()系统进程收集作为守护的退出码
参数:
 argc,argv均为入口函数main()的参数副本。
*/
int work(int argc,char **argv){
 while(1){
  sleep(60);
  err_msg("one loop....");
 }
 return 0;
}
int start_domain(int argc,char **argv,int (*work)(int argc,char **argv)){
 pid_t pid;
 int  fd,ecode;
 fd=domain_init();
 if(Fork()==0){
  if(Fork()==0){
   Atexit(domain_end);
   err_msg("domain has ran sucessfully....");
   /*如果work()的返回时间比其父进程调用exit(0)的时间早,将不会被init()进程领养。以后我们会用管道的特点来同步父子进程。*/
   ecode=work(argc,argv);
   exit(ecode);
  }
  exit(0);
 }
 Wait(NULL);
 return 0;
}
int main(int argc,char **argv){
 return start_domain(argc,argv,work);
}

您可能感兴趣的文章:
  • shell脚本作为保证PHP脚本不挂掉的守护进程实例分享
  • PHP实现多进程并行操作的详解(可做守护进程)
  • PHP程序级守护进程的实现与优化的使用概述
  • php守护进程 加linux命令nohup实现任务每秒执行一次

标签:娄底 邵阳 许昌 赤峰 淘宝邀评 金昌 巴彦淖尔 马鞍山

巨人网络通讯声明:本文标题《用模板的方式创建守护进程代码实例》,本文关键词  用,模板,的,方式,创建,守护,;如发现本文内容存在版权问题,烦请提供相关信息告之我们,我们将及时沟通与处理。本站内容系统采集于网络,涉及言论、版权与本站无关。
  • 相关文章
  • 下面列出与本文章《用模板的方式创建守护进程代码实例》相关的同类信息!
  • 本页收集关于用模板的方式创建守护进程代码实例的相关信息资讯供网民参考!
  • 推荐文章