linux中的daemon程序

2021-07-03 22:00:47 字數 1473 閱讀 8673

1.daemon程序

service是個抽象的概念,實現這個service的程序我們稱之為daemon程序。可以理解為daemon為程序裡面的一類。daemon可以翻譯成守護程序、後台程序。

2.daemon程序的命名規則

daemon程序一般會在服務的名稱後面加上乙個字母d,流入httpd,sshd,atd,crond等等

3.daemon程序的分類

按照daemon的啟動和管理方式來區分,分為如下兩類:

(1)可以單獨啟動的stand_alone daemon程序

stand_alone daemon程序的啟停指令碼scripts都放在了/etc/init.d/*目錄中,例如啟停httpd服務的命令是:

另外可以用乙個指令碼/sbin/service來啟動服務,其實是對上面的方式封裝了一下。例如啟停httpd服務的命令也可以是:

備註:a)/sbin/service  --status-all  可以檢視所有服務的工作狀態

b)這些都是sysvinit初始化init系統的管理方式,而使用systemd就不是這個樣子了哈

(2)由乙個稱為super daemon的程序來統一管理的daemon程序

super daemon程序有inetd和xinetd,現在主流用的是xinetd,其實super daemon自身是乙個stand_alone的daemon程序,那麼它自身的啟停方式參見上面的說明即可。

super daemon程序的工作機制是其管理了很多的服務,當沒有客戶端的請求時,各項服務都是未啟動的狀態,等待有來自客戶端的請求時,super daemon才喚醒相對應的服務。當客戶端的請求結束後,被喚醒的這個服務也會關閉並釋放系統資源。這是和stand_alone daemon程序的重要區別,也就是daemon程序是否一直開啟服務。常見的由super daemon管理的daemon程序有rsync,telnet等。

super daemon自身的配置檔案是/etc/xinetd.conf

super dammon所管理的服務,都會在/etc/xinit.d目錄下有乙個單獨的檔案,檔案中標識該服務是否disable等資訊。例如rsync服務對應的檔案就是/etc/xinetd.d/rsync。

舉例來說,使用xinetd服務來啟停rsync daemon服務得操作是:

#使用xinetd super-daemon程序來啟動rsync服務

步驟二:重啟xinetd服務,使用/etc/init.d/xinetd restart命令

#使用xinetd super-daemon程序來停止rsync服務

步驟二:重啟xinetd服務,使用/etc/init.d/xinetd restart命令

linux 守護程序 daemon

原文出處 daemon程式簡介 daemon是長時間執行的程序,通常在系統啟動後就執行,在系統關閉時才結束。一般說daemon程式在後台執行,是因為它沒有控制終端,無法和前台的使用者互動。daemon程式一般都作為服務程式使用,等待客戶端程式與它通訊。我們也把執行的daemon程式稱作守護程序。比如...

Linux 守護程序Daemon

守護程序是生存期長的一種程序。linux常用於伺服器,程式通常不執行在前台。執行於前台的程序和終端關聯,一旦終端關閉,程序也隨之退出。因為守護程序不和終端關聯,因此它的標準輸出和標準輸入也無法工作,除錯資訊應該寫入到普通檔案中,以便將來進行錯誤定位和除錯。而且守護程序通常以root許可權執行。程式示...

linux 建立daemon程序

方法一 使用傳統的fork 函式。示例 如下 static void daemon init const char workdir,mode t mask first child continues become session leader setsid signal sighup,sig ign...