Windows XP Windows 7 Windows 2003 Windows Vista Windows 綜合教學 Linux 系統教學
Windows 10 Windows 8 Windows 2008 Windows NT Windows Server 電腦軟體教學
您现在的位置: Windows教程網 >> Windows教程 >  >> Linux 系統教學 >> 關於 Linux

Linux chkconfig 命令詳解:服務啟動等級管理、添加刪除與優先級配置

編輯:關於 Linux

chkconfig 是 SysVinit 時代管理服務啟動等級的標準工具(systemd 系統請用 systemctl)。本文整理語法、參數、運行等級對照、服務腳本規範與實戰範例。

運行等級對照

等級名稱說明
0halt關機
1single單用戶模式
2multi-user無網路多用戶命令列
3multi-user+net有網路多用戶命令列
4unused保留
5graphical圖形介面多用戶
6reboot重啟

常用語法

chkconfig --list [服務名]           # 顯示所有/指定服務各等級狀態
chkconfig --add 服務名              # 加入管理(建立 rc.d 連結)
chkconfig --del 服務名              # 移除管理(刪除 rc.d 連結)
chkconfig --level 等級 服務名 on/off/reset  # 設定指定等級啟動/關閉/重置
chkconfig 服務名 on/off             # 設定預設等級 (2345) 啟動/關閉

服務腳本規範(/etc/init.d/ 下)

需包含 chkconfig 註解:

# chkconfig: 2345 20 80
# description: 服務描述,可用 \ 換行
# 更多描述...
  • 2345:預設啟動等級
  • 20:啟動優先序(S20),數字越小越早啟動
  • 80:停止優先序(K80),數字越小越早停止
  • 若無預設啟動等級,用 - 代替(如 chkconfig: - 20 80)

實戰範例

chkconfig --list                    # 列出所有服務
chkconfig --add httpd               # 加入 httpd
chkconfig --del httpd               # 移除 httpd
chkconfig --level 2345 httpd on     # 設定 2345 等級開啟
chkconfig --list mysqld             # 查看 mysqld 狀態
chkconfig --level 35 mysqld on      # 設定 3、5 等級開啟
chkconfig mysqld on                 # 設定 2345 等級開啟

新增自訂服務流程

  1. 腳本放入 /etc/init.d/,加執行權限 chmod +x
  2. 腳本加入 chkconfig 註解(見上)
  3. chkconfig --add 服務名 註冊
  4. chkconfig --level 35 服務名 on 設定啟動等級

systemd 時代對照

chkconfigsystemctl
chkconfig --listsystemctl list-unit-files --type=service
chkconfig service onsystemctl enable service
chkconfig service offsystemctl disable service
chkconfig --level 35 service onsystemctl enable service (systemd 無等級概念,以 target 替代)

雖然 systemd 已取代 SysVinit,但理解 chkconfig 有助於維護舊系統、閱讀舊腳本與跨平台移植。

Copyright © Windows教程網 All Rights Reserved