產生守護程序的方法

2021-06-22 16:01:08 字數 438 閱讀 3439

1、在父程序下產生子程序。

2、關閉父程序,使子程序成為乙個新會話的頭程序和新程序組的頭程序,從而與父程序所在的程序組和會話脫鉤。

3、忽略sighup訊號,防止之後新產生的程序被關閉。

4、在子程序下(後面我們稱這個子程序為父程序sp)再產生子程序,使之成為守護程序。這樣做的原因是如果這時開啟乙個控制終端,父程序sp會自動獲取控制終端,因為父程序sp為會話頭程序,會話頭程序會自動獲取控制終端。從而不能成為守護程序。

5、關閉父程序sp。

6、改變工作目錄為根目錄,這樣做的原因是如果守護程序在乙個檔案系統中產生,這個檔案系統在需要解除安裝的時候就無法解除安裝

7、關閉本守護程序繼承來的開啟著的描述符。

8、開啟/dev/null作為本守護程序的標準輸入,輸出,錯誤輸出,這樣做的原因是保證這三個常用描述符(為0,1,2)為開啟著的,以防被其他命令佔據這三個描述符。

守護程序之守護程序的慣例

在unix系統中,守護程序遵循下列公共慣例 例項 程式清單13 3所示程式說明了守護程序可以重讀其配置檔案的一種方法。該程式使用sigwait以及多執行緒 可參考 程式清單13 3 守護程序重讀配置檔案 include apue.h include include sigset t mask ext...

守護程序及守護程序輸出

1 建立乙個輸出程式 2 建立乙個守護程序 1 建立乙個輸出程式 守護程序不與終端聯絡,所以,需要另外建立乙個程式用於輸出。也可以直接使用 bin echo example daemon help.cc include int main int argc,char argv else if argc...

守護程序及守護程序輸出

1 建立乙個輸出程式 2 建立乙個守護程序 1 建立乙個輸出程式 守護程序不與終端聯絡,所以,需要另外建立乙個程式用於輸出。也可以直接使用 bin echo example daemon help.cc include int main int argc,char ar else if argc 2...