婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av

主頁 > 知識庫 > 用模板的方式創建守護進程代碼實例

用模板的方式創建守護進程代碼實例

熱門標簽:地圖標注員都是年輕人 如果做線上地圖標注 河南信譽好的不封卡電話外呼系統 打電話機器人接我是他的秘書 客服外呼系統怎么樣 江蘇云電銷機器人公司 百度地圖標注錯了有責任嗎 華鋒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實現任務每秒執行一次

標簽:婁底 邵陽 許昌 赤峰 淘寶邀評 金昌 巴彥淖爾 馬鞍山

巨人網絡通訊聲明:本文標題《用模板的方式創建守護進程代碼實例》,本文關鍵詞  用,模板,的,方式,創建,守護,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《用模板的方式創建守護進程代碼實例》相關的同類信息!
  • 本頁收集關于用模板的方式創建守護進程代碼實例的相關信息資訊供網民參考!
  • 推薦文章
    主站蜘蛛池模板: 雷州市| 武夷山市| 夏河县| 北流市| 巴塘县| 定南县| 嘉禾县| 兴和县| 高台县| 英吉沙县| 仪征市| 龙岩市| 汉中市| 泸西县| 富民县| 林周县| 宁都县| 丰原市| 临清市| 昌宁县| 达州市| 石棉县| 吉安市| 永靖县| 绥德县| 高青县| 金昌市| 花垣县| 增城市| 邢台市| 城口县| 那坡县| 南皮县| 黑水县| 东兰县| 永新县| 临洮县| 上饶县| 宁晋县| 武乡县| 铅山县|