對於守護進程,一個比較簡單的定義是:守護進程是一種即使沒有人登錄進入你的系統也會在無人值守的情況下運行的程式。 比較常見的守護進程有syslog 守護進程用於收集系統出錯資訊並將其寫入日誌檔; 還有 apache 或 HTTPd 守護進程用於為互聯網瀏覽器提供所需流覽的網頁以及sendmail 守護進程用於將伺服器所收到的電子郵件推送至你的收件匣。
位於/etc/init.d目錄下的啟動腳本管理著隨Linux包安裝的守護進程的活動狀態,啟動和停止命令對於所有這些腳本是通用的。
啟動守護進程
如果在 /etc/init.d 目錄中存在一個啟動腳本,那麼它的守護進程將通過指定它的檔案名並在後面加上關鍵字「start」的方式啟動,如以下顯示:
root@u-bigboy:~# /etc/init.d/apache start * Starting apache 1.3 web server... ...done.root@u-bigboy:~#
停止守護進程
守護進程可以通過指定它的檔案名並在後面加上關鍵字「stop」的方式停止;
root@u-bigboy:~# /etc/init.d/apache stop * Stopping apache 1.3 web server... ...done.root@u-bigboy:~#
重啟守護進程
通常情況守護進程只在啟動時讀取相應的設定檔,因此,如果你改寫它的設定檔,為了使其生效,你將不得不重啟守護進程。 帶有關鍵詞「restart」的命令將幫你實現重啟操作:
root@u-bigboy:~# /etc/init.d/apache restart * Restarting apache 1.3 web server... ...done.root@u-bigboy:~#
別為配置你的守護進程擔心。 稍後我們將介紹一些常用的守護程式並通過一些簡單的例子來具體瞭解它們。
關於服務命令
一些作業系統例如:Fedora 和 Rathat 也同樣具有快捷的服務命令,允許你使用 "start", "stop" 和"restart" 這些關鍵字來控制守護進程, 但是使用更少的字元。 這裡是一些實現該功能的快捷的,直觀的例子:
[root@bigboy ~]# service HTTPd start[root@bigboy ~]# service HTTPd stop[root@bigboy ~]# service HTTPd restart
服務命令同樣也具有「status」這個關鍵字,用來提供一個關於守護進程目前工作的簡潔的報告。
[root@bigboy ~]# service HTTPd statusHTTPd (pid 6135 6133 6132 6131 6130 6129 6128 6127 1561) is running... [root@bigboy ~]#