daemon守護程序

2021-06-07 13:57:30 字數 661 閱讀 6811

daemon守護程序

守護程序是乙個後台程序,不能夠控制終端,所以任何輸出,無論是向標準出錯裝置stderr還是向標準輸出裝置stdout的輸出都需做特別處理。守護程序一般在系統啟動時啟動,它的父程序是init程序。

建立守護程序

1在父程序執行fork然後讓父程序退出。

2在子程序中使用setsid呼叫建立新的會話。

3讓根目錄成為子程序的當前工作目錄。

4設定程序的umask為0。

5關閉子程序繼承的任何不必要的檔案描述符。

系統日誌

#include

void openlog(char *ident, int option, int facility);

void closelog(void);

void syslog(int priority, char *format,...);

兩種基本的模式:

stand_alone 該daemon啟動之後,就直接常駐在記憶體,一直占用系統資源,但最大的優點就是,當有請求到來時,會很快速的響應。

super daemon 由統一的daemon服務inet負責喚起服務,後來的linux使用xinet。

/etc/services檔案裡為網路服務指定了埠。

daemon程式的命名規則,一般以d結尾。***xd

守護程序 daemon

守護程序常常在系統引導裝入時啟動,在系統關閉時終止。一般說daemon程式在後台執行,是因為它沒有控制終端,無法和前台的使用者互動。daemon程式一般都作為服務程式使用,等待客戶端程式與它通訊。我們也把執行的daemon程式稱作守護程序。乙個守護程序的父程序是init程序,因為它真正的父程序在fo...

守護程序(Daemon)

守護程序 daemon 一般是為了保護我們的程式 服務的正常執行,當程式被關閉 異常退出等時再次啟動程式 恢復服務。例如 http 服務的守護程序叫 httpd,mysql 服務的守護程序叫 mysqld。或者有時候我們需要讓我們的程式 服務能不中斷地執行,在關閉終端後也能在後台默默執行,除了可以這...

守護程序Daemon

是linux的後台服務程序。它是乙個生存週期較長的程序,沒有控制終端,輸出無處顯示。使用者層守護程序的父程序是init程序。守護程序建立步驟 1 建立子程序,父程序退出,子程序被init自動收養 fork exit 2 呼叫setsid建立新會話,成為新會話的首程序,成為新程序組的組長程序,擺脫父程...