Windows XP Windows 7 Windows 2003 Windows Vista Windows 綜合教學 Linux 系統教學
Windows 10 Windows 8 Windows 2008 Windows NT Windows Server 電腦軟體教學

Linux chkconfig 服務管理完全指南:運行等級控制、新增/刪除服務、service vs /etc/init.d 兩種啟停方式

編輯:Linux 系統常見問題解答

chkconfig 核心語法

chkconfig [--add|--del|--list] [服務名]
chkconfig [--level <等級代碼>] <服務名> 

運行等級代碼對照

等級含義
0關機
1單用戶模式
2無網路多用戶字元模式
3有網路多用戶字元模式
4保留
5圖形介面多用戶模式
6重啟

常用操作範例

目的指令
列出所有服務啟動狀態chkconfig --list
查看特定服務 (如 mysqld)chkconfig --list mysqld
新增服務納入管理chkconfig --add httpd
移除服務管理chkconfig --del httpd
設定服務在等級 2,3,4,5 啟動chkconfig --level 2345 httpd on
設定 mysqld 在等級 3,5 啟動chkconfig --level 35 mysqld on
設定 mysqld 所有多用戶等級啟動chkconfig mysqld on (預設 2345)

新增自訂服務步驟 (以 mysqld 為例)

  1. 啟動腳本放置 /etc/init.d/ (CentOS 實為 /etc/rc.d/init.d/,/etc/init.d 為連結)。
  2. 腳本須含 chkconfig 註釋:
    # chkconfig: 2345 20 80 (等級 啟動優先權 關閉優先權)
    # description: MySQL Server
  3. chkconfig --add mysqld 產生 /etc/rc[0-6].d/ 下的 S/K 連結。
  4. chkconfig --level 35 mysqld on 設定預設啟動等級。

服務啟停兩種方式

方式指令原理
直接呼叫腳本/etc/init.d/mysqld start|stop|restart|status直呼啟動腳本
service 命令service mysqld start|stop|restartservice 為封裝腳本,解析參數後轉呼 /etc/init.d/ 對應腳本

關鍵目錄

  • /etc/sysconfig/:服務環境變數初始化設定。
  • /var/lib/:服務資料目錄 (如 /var/lib/mysql 存放資料庫檔案)。

注意: CentOS 7+ 採用 systemd (systemctl),chkconfig 僅相容舊版服務,新服務請撰寫 .service 單元檔。

Copyright © Windows教程網 All Rights Reserved