一,什么是daemons:
即我們常說的“守護(hù)進(jìn)程”。
基本上,我們的 Linux 主機(jī)常常會(huì)收到一些要求,不論是來自本機(jī)系統(tǒng)的要求或者是網(wǎng)路Client 端的服務(wù)求,反正只要有要求來的時(shí)候,通常就是各式各樣的 daemons 負(fù)責(zé)去喚起應(yīng)該要工作的 Servers 來工作。daemons 目前有兩種基本的模式,分別是 stand_alone 與 super daemon 。
stand_alone : 就字面上的意思來說,stand alone 就是『獨(dú)立的啟動(dòng)』的意思,也就是說,該 daemon 啟動(dòng)之后,就直接常駐在記憶體當(dāng)中。他雖然會(huì)一直的占用系統(tǒng)的資源,但最大的優(yōu)點(diǎn)就是,他會(huì)一直啟動(dòng)。所以當(dāng)有要求來的時(shí)候,他就會(huì)很快速的回應(yīng)。常常用在這一種 daemon 的網(wǎng)絡(luò)服務(wù)如常見的 httpd,xinetd 。
super daemon : 相對(duì)于 stand alone 的執(zhí)行方式,這一種服務(wù)的啟動(dòng)方式則是藉由統(tǒng)一的一個(gè) daemon 來負(fù)責(zé)喚起該服務(wù)!這一個(gè)統(tǒng)一負(fù)責(zé)的 daemon 就是 inet (他是stand_alone類型的daemon)這個(gè)服務(wù)啦!而在 Red Hat 7.x 以后則是使用 xinet 這個(gè)daemon。當(dāng)有網(wǎng)絡(luò)的服務(wù)要求來的時(shí)候,該要求會(huì)先送給 inet 這個(gè)服務(wù),然后 inet 根據(jù)該網(wǎng)路要求送來的資料封包的內(nèi)容 ( 該內(nèi)容會(huì)記錄 IP 與 port ) 來將資料封包送給實(shí)際運(yùn)作的服務(wù)!而該服務(wù)這個(gè)時(shí)候才會(huì)啟動(dòng)的!最常見到的就是 ftp 這支網(wǎng)路服務(wù)啦!這種最大的優(yōu)點(diǎn)就是當(dāng)沒有資料封包來的時(shí)候,該服務(wù)不會(huì)一直占據(jù)系統(tǒng)資源 ( 該服務(wù)會(huì)在 sleeping 的狀態(tài) ) ,但是相對(duì)的,他的反應(yīng)時(shí)間也會(huì)比較慢,因?yàn)檫€要花費(fèi)一段時(shí)間去『喚醒』該服務(wù)。telnet服務(wù)就是典型的super類型的daemon,它由xinetd調(diào)度。
二,Linux(以RedHat Linux9.0為例)下網(wǎng)絡(luò)服務(wù)相關(guān)的文件夾
stand_alone類型的daemon放在 /etc/rc.d/init.d/ 下
super 類型的daemon放在 /etc/xinetd.d/ 下。
三,使用方式
stand類型的啟動(dòng)有兩種方法:
1,/etc/rc.d/init.d/httpd start 又如 /etc/rc.d/init.d/xinetd start
2,service httpd start 又如 service xinetd start
alone類型的啟動(dòng)要在/etc/xinetd.d/下改相應(yīng)服務(wù)的配置文件,是disable字段為no,再重新啟動(dòng)xinet服務(wù)
如要啟動(dòng)telnet服務(wù),修改/etc/xinetd.d/telnet文件中的disable字段值為no,再重新啟動(dòng)xinet
文章來源:
http://tangwei312tom.blog.163.com/blog/static/2247319220071011112756726