最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

用模板的方式創(chuàng)建守護(hù)進(jìn)程代碼實例

 更新時間:2013年12月19日 15:17:25   作者:  
用模板的方式創(chuàng)建守護(hù)進(jìn)程,只需要定義一個與int work(int argc,char **argv)相同的偽入口函數(shù)傳入start_domain()函數(shù)即可

復(fù)制代碼 代碼如下:

#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函數(shù)為我們的工作函數(shù),他的返回值,會被init()系統(tǒng)進(jìn)程收集作為守護(hù)的退出碼
參數(shù):
 argc,argv均為入口函數(shù)main()的參數(shù)副本。
*/
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()的返回時間比其父進(jìn)程調(diào)用exit(0)的時間早,將不會被init()進(jìn)程領(lǐng)養(yǎng)。以后我們會用管道的特點來同步父子進(jìn)程。*/
   ecode=work(argc,argv);
   exit(ecode);
  }
  exit(0);
 }
 Wait(NULL);
 return 0;
}
int main(int argc,char **argv){
 return start_domain(argc,argv,work);
}

相關(guān)文章

  • 一個簡潔的全自動安裝LNMP服務(wù)器環(huán)境的Shell腳本分享

    一個簡潔的全自動安裝LNMP服務(wù)器環(huán)境的Shell腳本分享

    這篇文章主要介紹了一個簡潔的全自動安裝LNMP服務(wù)器環(huán)境的Shell腳本分享,本文腳本在生產(chǎn)環(huán)境上使用了一年多,腳本代碼簡單唯美,需要的朋友可以參考下
    2014-12-12
  • 詳談Linux開發(fā)中常見段錯誤問題的原因及分析

    詳談Linux開發(fā)中常見段錯誤問題的原因及分析

    下面小編就為大家?guī)硪黄斦凩inux開發(fā)中常見段錯誤問題的原因及分析。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-03-03
  • 5個Shell腳本編程入門練習(xí)例子

    5個Shell腳本編程入門練習(xí)例子

    這篇文章主要介紹了5個Shell腳本編程入門例子,涵蓋了各種操作,又有一些游戲的性質(zhì),作為入門練習(xí)例子是不很不錯的,需要的朋友可以參考下
    2014-06-06
  • vtune自動安裝腳本分享

    vtune自動安裝腳本分享

    這篇文章主要介紹了vtune自動安裝腳本分享,需要的朋友可以參考下
    2014-03-03
  • 監(jiān)視磁盤使用情況的Shell腳本(本地+遠(yuǎn)程)

    監(jiān)視磁盤使用情況的Shell腳本(本地+遠(yuǎn)程)

    任何一個分區(qū)使用到90%就發(fā)送一個郵件給指定的收件人,到95%就在郵件主題出警告(warning),說明發(fā)送郵件程序EMAIL
    2013-01-01
  • Shell命令批量修改圖片文件名

    Shell命令批量修改圖片文件名

    這篇文章主要介紹了Shell命令批量修改圖片文件名,本文使用for循環(huán)、awk、sed等命令實現(xiàn)批量修改圖片文件名,需要的朋友可以參考下
    2014-12-12
  • Shell腳本注釋寫法

    Shell腳本注釋寫法

    這篇文章主要介紹了Shell腳本注釋的3種寫法,包含單行注釋的方法和多行注釋的多種方法,需要的朋友可以參考下
    2014-07-07
  • Bash中test命令的使用

    Bash中test命令的使用

    本文主要介紹了Bash中test命令的使用,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2023-02-02
  • bash?shell?自定義函數(shù)命令持久化生效問題

    bash?shell?自定義函數(shù)命令持久化生效問題

    這篇文章主要介紹了bash?shell?自定義函數(shù)命令持久化生效,本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2023-03-03
  • shell腳本實現(xiàn)監(jiān)控某個進(jìn)程意外停止后拉起進(jìn)程

    shell腳本實現(xiàn)監(jiān)控某個進(jìn)程意外停止后拉起進(jìn)程

    今天小編就為大家分享一篇關(guān)于shell腳本實現(xiàn)監(jiān)控某個進(jìn)程意外停止后拉起進(jìn)程,小編覺得內(nèi)容挺不錯的,現(xiàn)在分享給大家,具有很好的參考價值,需要的朋友一起跟隨小編來看看吧
    2019-04-04

最新評論

盐山县| 临湘市| 牙克石市| 孟村| 南阳市| 广东省| 亚东县| 西平县| 南宁市| 班戈县| 新建县| 临猗县| 富锦市| 北海市| 临沂市| 浑源县| 宝清县| 新河县| 宁国市| 天峻县| 泾阳县| 涡阳县| 德化县| 色达县| 伽师县| 海城市| 老河口市| 惠东县| 德令哈市| 栖霞市| 安仁县| 韶关市| 敖汉旗| 北辰区| 清苑县| 汉阴县| 临潭县| 上蔡县| 达日县| 焦作市| 静宁县|