daemon服務(wù)
系統(tǒng)為了某些功能必須要提供一些服務(wù),這個(gè)服務(wù)稱為service。但service的提供總是需要進(jìn)程的運(yùn)行,所以實(shí)現(xiàn)這個(gè)service的程序我們就稱為daemon。舉例來(lái)說(shuō),實(shí)現(xiàn)循環(huán)型例行性工作調(diào)度服務(wù)的程序?yàn)閏rond這個(gè)daemon。
daemon的主要分類
stand_alone:此daemon可以自行單獨(dú)啟動(dòng)服務(wù)
這種類型的daemon可以自行啟動(dòng)而不必通過(guò)其他機(jī)制的管理,它的特點(diǎn)是常駐內(nèi)存,因此對(duì)于發(fā)生客戶端的請(qǐng)求,其響應(yīng)速度較快,常見(jiàn)的stand_alone服務(wù)有httpd,vsftpd等。
super daemon:一個(gè)特殊的daemon來(lái)統(tǒng)一管理
這一種服務(wù)的啟動(dòng)方式是通過(guò)一個(gè)統(tǒng)一的daemon來(lái)負(fù)責(zé)喚起服務(wù),這個(gè)特殊的daemon就被稱為super daemon。它的特點(diǎn)是當(dāng)沒(méi)有客戶端請(qǐng)求時(shí),各項(xiàng)服務(wù)都是未啟動(dòng)的狀態(tài),等到有客戶端請(qǐng)求時(shí),super daemon才喚醒相對(duì)應(yīng)的服務(wù),當(dāng)客戶端請(qǐng)求過(guò)后,被喚醒的服務(wù)也會(huì)關(guān)閉并釋放系統(tǒng)資源。
這種機(jī)制的好處是:(1)由于super daemon由daemon喚醒,可以有一個(gè)較為安全的管控機(jī)制。(2)由于在客戶端連接后就關(guān)閉,因此不會(huì)一直占用系統(tǒng)資源。缺點(diǎn)在于:由于不是常駐內(nèi)存,因此響應(yīng)速度較慢。
daemon的工作形態(tài)類型
signal-control
只要有客戶端請(qǐng)求,就會(huì)立即啟動(dòng)處理。
interval-control
每隔一段時(shí)間就會(huì)主動(dòng)去執(zhí)行某工作。
服務(wù)與端口的對(duì)應(yīng)
查看方法:cat /etc/services
daemon的啟動(dòng)腳本與啟動(dòng)方式
/etc/init.d/*:啟動(dòng)腳本放置處
系統(tǒng)上幾乎所有的服務(wù)啟動(dòng)腳本都放置在這里。
/etc/sysconfig/*:各服務(wù)的初始化環(huán)境配置文件
幾乎所有的服務(wù)都會(huì)將初始化的一些參數(shù)設(shè)置寫入到這個(gè)目錄下
/var/run/*:各服務(wù)的程序PID記錄處
service [service name] (start|stop|restart|...) 修改各服務(wù)的狀態(tài)? ? ? ? ? ??
? service --status-all 列出所有服務(wù)的狀態(tài)
設(shè)置開(kāi)機(jī)后立即啟動(dòng)服務(wù)的方法
先來(lái)了解一下Linux的開(kāi)機(jī)過(guò)程
1、打開(kāi)計(jì)算機(jī)電源,開(kāi)始讀取BIOS并進(jìn)行主機(jī)的自我測(cè)試。
2、通過(guò)BIOS取得第一個(gè)可開(kāi)機(jī)設(shè)備,讀取主要開(kāi)機(jī)區(qū)(MBR)取得啟動(dòng)裝載程序。
3、通過(guò)啟動(dòng)裝載程序的設(shè)置,取得kernel并加載內(nèi)存且檢測(cè)系統(tǒng)硬件。
4、內(nèi)核主動(dòng)調(diào)用init進(jìn)程。
5、init進(jìn)程開(kāi)始執(zhí)行系統(tǒng)初始化(/etc/rc.d/rc.sysinit)。
6、依據(jù)Init的設(shè)置進(jìn)行deamonstart(/etc/rc.d/rc[0-6].d/*)
7、加載本機(jī)設(shè)置。