1. 程式人生 > 其它 >一天一個 Linux 命令(45):chkconfig 命令

一天一個 Linux 命令(45):chkconfig 命令

一、簡介

Linux下的chkconfig命令是Red Hat公司遵循GPL規則所開發的程式,它可查詢作業系統在每一個執行等級中會執行哪些系統服務,其中包括各類常駐服務。

二、格式說明

chkconfig [OPTION]

chkconfig version 1.7.4 - Copyright (C) 1997-2000 Red Hat, Inc.
This may be freely redistributed under the terms of the GNU Public License
usage:   chkconfig [--list] [--type <type>] [name]
         chkconfig --add <name>
         chkconfig --del <name>
         chkconfig --override <name>
         chkconfig [--level <levels>] [--type <type>] <name> <on|off|reset|resetpriorities>

三、選項說明

--list  顯示系統服務列表,以及這些服務在執行級別0到6中已被啟動(on)還是停止(off)。
--add	增加所指定的系統服務,讓chkconfig指令得以管理它,並同時在系統啟動的敘述檔案內增加相關資料
--del	刪除所指定的系統服務,不再由chkconfig指令管理,並同時在系統啟動的敘述檔案內刪除相關資料
--level	指定讀系統服務要在哪一個執行等級中開啟或關畢
        等級0表示:表示關機
        等級1表示:單使用者模式
        等級2表示:無網路連線的多使用者命令列模式
        等級3表示:有網路連線的多使用者命令列模式
        等級4表示:不可用
        等級5表示:帶圖形介面的多使用者模式
        等級6表示:重新啟動

四、命令功能

chkconfig命令主要用來更新(啟動或停止)和查詢系統服務的執行級資訊

五、常見用法

5.1 列出所有的系統服務

# chkconfig -list 

5.2 開啟服務:

# chkconfig telnet on

5.3 關閉服務:

# chkconfig telnet off

5.4 增加httpd服務:

# chkconfig –-add httpd 

5.5 刪除httpd服務:

# chkconfig –-del httpd  

5.7 如何增加一個指令碼服務

1.建立指令碼/root/test-service.sh
vi /root/test-service.sh
echo "test-service"
新增可執行許可權
chmod +x /root/test-service.sh

2.指令碼服務必須存放在/etc/ini.d/目錄下,比如 test-service
vi /etc/init.d/test-service
#!/bin/bash
#chkconfig: 35 100 01
##description: 測試服務新增 
/bin/bash /root/test-service.sh >/dev/null 2>/dev/null

3.新增可執行許可權
chmod +x /etc/init.d/test-service

4.新增服務
chkconfig --add test-service

5.檢視服務
chkconfig --list inotify-log

#chkconfig: 35 100 01 這三組數字到底是什麼意思呢?

35代表的是系統的啟動級別
啟動級別包括1,2,3,4,5,6,其中常用的是3和5。3表示文字模式啟動,5表示圖形介面啟動。
也就是說系統在35的啟動級別的時候會啟動test-service服務
100 01 代表的是系統啟動或者關閉的時候 應用程式也就是服務的啟動級別
100:表示系統啟動後,每個服務的啟動順序。啟動順序是從標記為00的服務開始。通常不是特別重要的服務可以用99之後數字,如100,101...,數字越小,優先順序越高,也就是啟動的時候數值越小越先啟動
01:表示系統關閉時,最先關閉的服務,數字越小,優先順序越高,也就是關閉的時候數值越小越先關閉

100 01 這兩組數字總結起來就是數值越小,就越先啟動和關閉