守護程序的建立

2021-07-12 04:28:33 字數 1063 閱讀 3401

守護程序

守護程序又稱作精靈程序是乙個特殊的後台程序,他沒有控制終端,週期性的執行該執行的任務

我們可以看出守護程序是沒有tty控制終端的,並且它是沒有組長id的。

建立乙個守護程序一般需要以下的步驟;

1、umask(0)。

2、fork()乙個子程序,然後exit掉父程序,保證它不是組長程序。

3、呼叫setsid()函式建立乙個新會話,setsid保證(1)呼叫程序成為新會話首程序(2)呼叫程序成為程序組的組長程序(3)該程序沒有控制終端

4、再次fork()然後exit掉主程序,這樣為了保證以後不會再開啟控制終端。

5、更改目錄為根目錄chdir。

6、忽略訊號sigchild,有些場景下會有父程序(守護程序)等待子程序的過程,為了讓父程序正常工作,忽略它。

7、關閉沒有必要的檔案操作符,將標準錯誤,標準輸出重定向到/dev/null(這是乙個空檔案)不會產生輸出檔案。

1 #include2 #include3 #include4 #include5 #include6 #include7 void creatdemon()

8 else if(id>0)

17     

20     setsid();

21     signal(sigchld,sig_ign);

22     id=fork();

23     if(id<0)else if(id>0)

28     chdir("/");

29     close(0);

30     close(1);

31     close(2);

32 }

33 34 

35 int main()

36 41     return 0;

42 }

本文出自 「痕跡」 部落格,請務必保留此出處

linux 守護程序詳解及建立守護程序

linux 守護程序詳解及建立守護程序 守護程序是一種後台執行並且獨立於所有終端控制之外的程序。守護程序的啟動 要啟動乙個守護程序,可以採取一下幾種方式 守護程序的建立 先來看乙個守護程序建立的例子 include include include include define maxfd 64 vo...

linux守護程序的建立

下面的完成了這樣乙個功能,建立乙個守護程序,每個一秒在 tmp目錄下的檔案peng.txt中記錄當前系統時間。一 守護程序 守護程序是linux中的後台服務程序,在系統啟動時開始執行,在系統關閉時終止。linux系統中的大多數服務程序都是由守護程序實現的。二 建立守護程序 此時,子程序變成孤兒程序,...

Linux 守護程序建立

守護程序是在後台執行,不受使用者的控制 守護程序沒有任何存在的父程序。如果乙個程序想成為守護程序,有fork 建立 然後終止父程序,脫離資源。例子 void init daemon int pid,i pid fork if pid exit 0 結束父程序 else exit 1 失敗退出 是子程...