校园春色亚洲色图_亚洲视频分类_中文字幕精品一区二区精品_麻豆一区区三区四区产品精品蜜桃

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

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

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

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

巨人網絡通訊聲明:本文標題《用模板的方式創建守護進程代碼實例》,本文關鍵詞  用,模板,的,方式,創建,守護,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《用模板的方式創建守護進程代碼實例》相關的同類信息!
  • 本頁收集關于用模板的方式創建守護進程代碼實例的相關信息資訊供網民參考!
  • 推薦文章
    主站蜘蛛池模板: 台湾省| 寻甸| 甘谷县| 盈江县| 阳西县| 石门县| 清原| 赤壁市| 盘山县| 洪雅县| 齐河县| 永靖县| 大同县| 连平县| 乌鲁木齐市| 额尔古纳市| 石阡县| 乃东县| 庆城县| 读书| 苍山县| 九龙坡区| 康乐县| 伊宁市| 南宫市| 乐都县| 冀州市| 抚远县| 祁门县| 中阳县| 胶州市| 鲁甸县| 渝北区| 嘉义市| 通州区| 日喀则市| 拉萨市| 青浦区| 莱阳市| 云阳县| 崇州市|