歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux基礎 >> Linux教程 >> Linux下chkconfig的使用

Linux下chkconfig的使用

日期:2017/2/28 13:43:33   编辑:Linux教程

在Linux的系統下我們平時使用的服務進程可以通過一些腳本啟動,而很多自定義的服務啟動腳本可以通過chkconfig命令來實現,chkconfig命令是用來檢查、設置系統的各種服務。這是Red Hat公司遵循GPL(GNU通用公共許可證)規則所開發的程序,它可查詢操作系統在每一個執行等級中會執行哪些系統服務,其中包括各類常駐服務。要謹記chkconfig不是立即自動禁止或激活一個服務,它只是簡單的改變了符號連接,使我們可以通過service servicename {start|stop|restart|condrestart|status|panic|save}這些控制服務。通過man幫助得到以下選項和參數信息

--list:查看指定服務的所有運行級別下開啟和關閉情況;
--add:增加所指定的系統服務,讓chkconfig指令得以管理它,並同時在系統啟動的敘述文件內增加相關數據;
--del:刪除所指定的系統服務,不再由chkconfig指令管理,並同時在系統啟動的敘述文件內刪除相關數據;
--level<等級代號>:指定讀系統服務要在哪一個執行等級中開啟或關畢。

其中的代號等級列表如下:

等級0表示:表示關機
等級1表示:單用戶模式
等級2表示:無網絡連接的多用戶命令行模式
等級3表示:有網絡連接的多用戶命令行模式
等級4表示:不可用
等級5表示:帶圖形界面的多用戶模式
等級6表示:重新啟動

在這裡要注意的是,level選項可以指定要查看的運行級而不一定是當前運行級。對於每個運行級,只能有一個啟動腳本或者停止腳本。當切換運行級時,init不會重新啟動已經啟動的服務,也不會再次去停止已經停止的服務。

而在我們被chkconfig管理的服務需要在對應的init.d下的腳本加上兩行或者更多行的注釋。第一行告訴chkconfig缺省啟動的運行級以及啟動和停止的優先級。如果某服務缺省不在任何運行級啟動,那麼使用-代替運行級。第二行對服務進行描述,可以用\跨行注釋。

例如network服務就有幾行:

#! /bin/bash
#
# network Bring up/down networking
#
# chkconfig: 2345 10 90
# description: Activates/Deactivates all network interfaces configured to \
# start at boot time.
#
### BEGIN INIT INFO
# Provides: $network
### END INIT INFO

所以在被chkconfig管理的服務要寫好這些注釋內容,還有在增加一個服務的時候要注意兩點:

1、服務腳本必須存放在/etc/init.d/目錄下

2、chkconfig --add 在chkconfig工具服務列表中增加此服務,此時服務會被在/etc/rc.d/rcN.d中賦予K/S入口了;

Copyright © Linux教程網 All Rights Reserved