建立守護程序 轉

2022-01-12 23:46:38 字數 465 閱讀 4311

建立守護程序的過程:

1. 呼叫fork建立子程序。父程序終止,讓子程序在後台繼續執行。

2. 子程序呼叫setsid產生新會話期並失去控制終端呼叫setsid()使子程序程序成為新會話組長和新的程序組長,同時失去控制終端。

3. 忽略sighup訊號。會話組長程序終止會向其他程序發該訊號,造成其他程序終止。

4. 呼叫fork再建立子程序。子程序終止,子子程序繼續執行,由於子子程序不再是會話組長,從而禁止程序重新開啟控制終端。

5. 改變當前工作目錄為根目錄。一般將工作目錄改變到根目錄,這樣程序的啟動目錄也可以被卸掉。

6. 關閉開啟的檔案描述符,開啟乙個空裝置,並複製到標準輸出和標準錯誤上。 避免呼叫的一些庫函式依然向螢幕輸出資訊。

7. 重設檔案建立掩碼清除從父程序那裡繼承來的檔案建立掩碼,設為0。

8. 用openlog函式建立與syslogd的連線。

Python fork 守護程序《轉》

coding utf 8 import sys,os 將當前程序fork為乙個守護程序 注意 如果你的守護程序是由inetd啟動的,不要這樣做!inetd完成了 所有需要做的事情,包括重定向標準檔案描述符,需要做的事情只有 chdir 和 umask 了 def daemonize stdin de...

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

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

Linux 守護程序建立

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