• 企业400电话
  • 微网小程序
  • AI电话机器人
  • 电商代运营
  • 全 部 栏 目

    企业400电话 网络优化推广 AI电话机器人 呼叫中心 网站建设 商标✡知产 微网小程序 电商运营 彩铃•短信 增值拓展业务
    用模板的方式创建守护进程代码实例

    复制代码 代码如下:

    #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实现任务每秒执行一次
    上一篇:实现shell终端代码分享(可用户登录 实现系统命令)
    下一篇:unix编程创建前缀固定的临时文件代码分享
  • 相关文章
  • 

    © 2016-2020 巨人网络通讯 版权所有

    《增值电信业务经营许可证》 苏ICP备15040257号-8

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