麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁 > 開發 > Linux Shell > 正文

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

2020-07-27 19:20:31
字體:
來源:轉載
供稿:網友

復制代碼 代碼如下:

#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);
}

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 精品国产一区二区三区蜜殿 | 久久区二区 | 亚洲第五色综合网 | 日日摸夜夜添夜夜添牛牛 | 素人视频在线观看免费 | 欧美日韩国产中文字幕 | 久久久久久久久久一本门道91 | 黄色免费在线电影 | 日本中文字幕久久 | 欧美wwwsss9999 | 久久99国产伦子精品免费 | 高清国产福利 | free性欧美hd另类 | 久久久久久久久久网站 | 国产精品久久久久久久久久三级 | 素人视频免费观看 | 成人三级视频网站 | 精品在线视频播放 | 成人一级片毛片 | 欧美亚洲黄色 | 精品999久久久 | 久久久久久久免费看 | av免费不卡国产观看 | 国产jjizz一区二区三区视频 | 欧美精品一级 | 国产日韩中文字幕 | 亚洲综合色视频在线观看 | 一级做a爱片性色毛片高清 国产精品色在线网站 | 色中色在线播放 | 成人午夜a| 一级一级一级一级毛片 | 97香蕉超级碰碰久久免费软件 | 成人精品一区二区三区中文字幕 | 久久久大片 | 免费黄色大片在线观看 | 日韩毛片在线看 | 亚州欧美在线 | 久久亚洲网 | 国产中出视频 | 色婷婷久久久 | 国产精品欧美日韩一区二区 |