[RHCE] Deamon Manage

DAEMON

系統的服務我們會稱為service,例如httpd、ftpd等等,而啟動這些服務的程序就稱為daemon。daemon會在系統開機時執行,一般來說會在關機時結束。

daemon可以分成兩大類,一類是可以獨立啟動的stand_alone。例如httpd、ftpd等,不必透過其他機制就可以啟動,直到關閉前都會一直存在。這種daemon的好處在於對於用戶發送的要求反應較快,但是缺點是會一直佔據記憶體空間。另一類是透過一個叫做xinetd的super daemon來管理其他的服務。xinetd會在用戶連線時去呼叫對應的服務,當用戶離線就會關閉這些服務,如Telent、Tftp等。spuer daemon的好處在於減少服務呆滯在記憶體的時間,缺點是反應會比較慢一點。
1410941748-2573365843_n.png-RHCE服務管理

SERVICE SCRIPT

管理員可以透過 #service [Script] [服務名稱] [參數] 去管理各種daemon。參數 startstopreatartreload 可以對服務進行基本的控制。或者編輯service script對service進行進階的設定跟控制,系統的srevice script存放在/ect/init.d/中。
1410942818-1156768932_n.png-RHCE服務管理

在之前提到過,我們可以在/etc/inittab中設定開機時的run level。
>>[RHCE課堂筆記] 開機<<
當設定完run level之後,我們就可以在/etc/rc.d中設定各run level下要啟動的service script。以我虛擬機中的rc5.d為例,也就是run level 5的設定。
1410943289-3672925031.png-RHCE服務管理

我們可以看到這些檔案是用連結的方式連到/etc/init.d中的service script檔。每個檔名前面會多一個英文字以及兩個數字,K表示kill service,S表示start service。而之後的數字表示kill或者start的順序。上面的例子會先啟動network,接著依序iprinit、iprupdate、iprdump,最後kill netconsole。

BOOT

管理者也可以針對這些服務,設定是否需要在系統啟動時執接執行。#chkconfig [服務名稱] [on/off] 可以設定是否在當前run level啟動系統時執行。#chkconfig --level [0~6] [服務名稱] [on/ff] 可以設定服務在特定的run level是否啟動。

如果要對所有run level新增或者刪除系統中的一個服務,有兩種方法。第一是自行編輯/etc/init.d/中的service script。另一種是利用 #chkconfig [--add/--del] [服務名稱] 來進行新增或刪除。

留言