歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux基礎 >> Linux教程 >> Linux Daemons&Service &Process

Linux Daemons&Service &Process

日期:2017/2/28 14:47:15   编辑:Linux教程

一、Daemon 按Service啟動分類為:Stand alone和Super Daemon

1.1Stand alone:

1.1.1服務的啟動方式:可自行單獨啟動Service,而不需要其他機制的管理,

1.1.2服務啟動並加載到內存後,就一直占用內存及系統資源,

1.1.3優點:響應速度快(因為一直占用內存,在內存內,持續的提供服務)

1.1.4列如:httpd、vsftpd、

1.2Super Daemon:常駐內存中;提供IP來源、時間、連線的管制;觸發Service,導向Client的Request到Daemon1。。。;移除Daemon1。。。並結束連線。

1.2.1服務的啟動方式:由這個Super Daemon統一啟動和管理Service

1.2.2早期的為inetd——後來被Xinetd取代

1.2.3機制:

1)當沒有Client Request時,各Service都是Stop的;

2)當等到有Client Request時,Super Daemon喚醒相對應的Service;

3)當Client Request 結束後,被喚醒的Service也會被Close並Release System Resource

1.2.4優點:

1)具有安全管控機制:因為Super Daemon負責喚醒各項服務,類似於網絡防火牆的功能;

2)不會一直占用System Resource:因為Client Request結束後,Service 就Close了;

1.2.5缺點:

響應速度比Stand alone慢:Service的start由客戶端的Request喚醒的,再由Super Daemon統一管理來觸發並加載到內存需要一丁點時間;

1.2.6例如:telnet Service由Super Daemon統一管理

Super daemon 的運行示意圖

二、Daemon按工作形態分類為:Single-Control和Multi-Control

2.1Single-Control:

只要有任何Client Request,就馬上啟動處理

例如:cupsd(打印機的服務)

2.2interval-Control:

每隔一段時間就去主動地運行某項工作

你要做的是:在配置文件中配置服務要進行的時間與工作

例如:atd和crond(每分鐘偵測一次配置文件)

三、Daemon的命名規則:程序名(程序文件名+d)

ps和top來觀察運行的Daemon程序

四、Service&Port:配置的文件為/etc/servcies

IP地址(三層,用作路由)就相當於:你家門前的路名(網絡部分)+門牌號(主機部分)

網絡當中路由(選路)的時候,就要用到路名了,而不會關心門牌號了

Port就相當於:你家的幾層樓

MAC(Media Access Control,二層,通過ARP協議)地址就相當於:你家這幢樓房或私房的地基號(就如房產證或農村土地征上都有寫明的(幾乎是唯一的且不會變的,有木有?)

五、Daemon的啟動方式與啟動腳本(Shell Script),配置文件

通常,Distribution都會記錄每一個Daemon啟動的PID--到/var/run/目錄下

每個Daemon啟動時需要配置文件運行環境運行檔

通常,Distribution會給我們一個簡單的啟動腳本Shell Script來進行啟動的功能:

啟動腳本文件的路徑:/etc/init.d/ 實際文件是存放在/etc/rc.d/init.d/,因為init.d/下大都是symlinks(symbolic links 符號連接)文件

服務初始化環境配置文件的路徑:/etc/sysconfig/

各服務各自的配置文件的路徑:/etc/ #大家的配置文件都是放置在 /etc/ 底下的

SuperDaemon配置文件:/etc/xinetd.d/和/etc/xinetd.conf

/etc/xinetd.d/ #Super Daemon的主要配置文件(也是Super Daemon的默認配置文件)

/etc/xinetd.conf #Super Daemon所管理的其他Daemon的配置則寫在這裡頭,應為Super Daemon(只是是一個統一管理的機制)是個大管家

各服務產生的數據庫:/var/lib/ #一些會產生數據的服務都會將他的數據寫入到/var/lib目錄中,例如:數據庫管理系統MySQL的數據庫默認就是寫入/var/lib/mysql/下

Copyright © Linux教程網 All Rights Reserved