第13章守護程序總結

2022-09-17 06:27:14 字數 654 閱讀 5821

1 編寫守護程序基本規則

1)umake(0)將檔案模式建立遮蔽字設定為0

2)fork之後,父程序exit

3)子程序呼叫setsid

4)更改工作目錄chdir("/")

5)關閉所有開啟的檔案描述符

6)在/dev/null上開啟檔案描述符1,2,3

2 守護程序出錯處理

產生日誌訊息的三種方式:

1)核心程序呼叫log函式寫日誌訊息到/dev/klog

2)使用者程序呼叫syslog函式寫日誌訊息到/dev/log

3)網路主機上的程序傳送日誌訊息udp包到514埠

syslogd守護程序用來處理日誌訊息,此程序的配置檔案一般為/etc/syslog.conf,該檔案決定不同種類的訊息應該如何處理

#include void openlog(const

char *ident,int option,int

facility)

void syslog(int priority,const

char *format,...)

void

closelog();

int setlogmask(int maskpri)

ident一般是程式名,將被加到每條日誌訊息中

UNIX高階程式設計 第13章 守護程序

請移步到這 13.2 守護程序的特徵 注意,大多數守護程序都以超級使用者 root 特權執行。所有的守護程序都沒有控制終端,其終端名設定為問號。核心守護程序以無控制終端方式啟動。使用者層守護程序缺少控制終端可能是守護程序呼叫了setsid的結果。大多數使用者層守護程序都是程序組的組長程序以及會話的首...

UNIX高階環境程式設計 第13章 守護程序

守護程序 沒有控制終端,長期執行在後台的程序 void daemonize const char cmd else if pid 0 呼叫setsid以建立乙個新會話 使呼叫程序 a.成為新會話的首程序,b.成為乙個新程序組的組長程序,c.沒有控制終端。setsid struct sigaction...

13 守護程序

守護程序是一種純粹的後台程序,與執行前環境完全隔離,包括未關閉的檔案描述符 控制終端 會話 程序組 工作目錄以及檔案建立掩碼等 很多守護程序是父程序 fork 產生,所以會繼承所有的父程序位址空間中的環境,所以必須在守護程序誕生之初,斷絕這些相關環境,當然,守護程序也可以在 linux 系統啟動時從...