2012年8月29日 星期三

[Linux]Daemon 守護神程式

為什麼會需要『守護神程式』?
一般的程式通常都是『單次目的性』,像我常用的『cat』,這種程式都常就都是一次性使用。
那『守護神程式』呢?
沒接觸過『Linux』的人,恐怕不知道什麼是Daemon。Daemon功能相當於Windows的service,也就是常駐程式。
通常在系統啟動時就會運行,當系統關閉時結束。


#include <stdio.h>
#include <iostream>
#include <time.h>
#include <sys/timeb.h>
#include <locale>
int Daemon()
{
    static int Count =0;
    int status=0;
    pid_t pid=fork();
    if(pid < 0){//初始化失敗
        return -1;
    }
    else if(pid==0)
    {
        //主程式進行
    }else
    {
        pid_t p=waitpid(pid,&status,0);//等待程式退出
        Daemon();
    }
    return 1;
}
int main()
{
 if(Daemon()==-1){
  exit(0);
 }
 while(1){
 
 }
}

陽春的架構就是這樣,如此一來程式至系統關閉為止都會一直執行。 除非手動去把它『kill』掉。 想到再補..

沒有留言:

張貼留言