Linux中chkconfig命令總結

2021-09-11 20:52:45 字數 3639 閱讀 5535

linux chkconfig命令用於檢查,設定系統的各種服務。它可查詢作業系統在每乙個執行等級中會執行哪些系統服務,其中包括各類常駐服務。

語法:

chkconfig [--add][--del][--list][系統服務] 或 chkconfig [--level 《等級代號》][系統服務][on/off/reset]
引數:

--add  增加所指定的系統服務,讓chkconfig指令得以管理它,並同時在系統啟動的敘述檔案內增加相關資料。

--del  刪除所指定的系統服務,不再由chkconfig指令管理,並同時在系統啟動的敘述檔案內刪除相關資料。

--level《等級代號》  指定讀系統服務要在哪乙個執行等級中開啟或關畢。

等級代號:

等級0表示:表示關機

等級1表示:單使用者模式

等級2表示:無網路連線的多使用者命令列模式

等級3表示:有網路連線的多使用者命令列模式

等級4表示:不可用

等級5表示:帶圖形介面的多使用者模式

等級6表示:重新啟動

chkconfig --list                       #列出所有的系統服務

chkconfig --add httpd #增加httpd服務

chkconfig --del httpd #刪除httpd服務

chkconfig --level httpd 2345 on #設定httpd在執行級別為2、3、4、5的情況下都是on(開啟)的狀態

chkconfig --list #列出系統所有的服務啟動情況

chkconfig --list mysqld #列出mysqld服務設定情況

chkconfig --level 35 mysqld on #設定mysqld在等級3和5為開機執行服務,--level 35表示操作只在等級3和5執行,on表示啟動,off表示關閉

chkconfig mysqld on #設定mysqld在各等級為on,「各等級」包括2、3、4、5等級

linux下service執行過程. 以docker為例: service docker start

docker指令碼部分內容

[root@leolinux init.d]# cat docker

#!/bin/sh

## /etc/rc.d/init.d/docker

## daemon for docker.com

## chkconfig: 2345 95 95

# description: daemon for docker.com

### begin init info

# provides: docker

# required-start: $network cgconfig

# required-stop:

# should-start:

# should-stop:

# default-start: 2 3 4 5

# default-stop: 0 1 6

# short-description: start and stop docker

# description: daemon for docker.com

### end init info

# source function library.

. /etc/rc.d/init.d/functions

prog="docker"

exec="/usr/bin/$prog"

pidfile="/var/run/$prog.pid"

lockfile="/var/lock/subsys/$prog"

logfile="/var/log/$prog"

......................

case "$1" in

start)

rh_status_q && exit 0

$1;;

stop)

rh_status_q || exit 0

$1;;

restart)

$1;;

reload)

rh_status_q || exit 7

$1;;

force-reload)

force_reload

;;status)

rh_status

;;condrestart|try-restart)

rh_status_q || exit 0

restart

;;*)

echo $"usage: $0 "

exit 2

esac

exit $?

因此,設定新服務開機啟動的步驟為:

編寫乙個指令碼,然後把它放在/etc/init.d這個目錄下

這只指令碼的許可權為可執行,chmod +x /etc/init.d/servicename

再用service + 指令碼名字 + 命令,啟動服務

設定開機自動啟動

chkconfig --add test 

chkconfig test on/off //重啟後永久生效

// 上面的方法如果不生效,通過update-rc.d 命名設定開機自啟動

cd /etc/init.d

sudo update-rc.d test defaults 95

注:其中數字95是指令碼啟動的順序號,按照自己的需要相應修改即可。在你有多個啟動指令碼,而它們之間又有先後啟動的依賴關係時你就知道這個數字的具體作用了

解除安裝啟動指令碼:

cd /etc/init.d

sudo update-rc.d -f test remove

注意:

a、service這個命令往往是即時生效,不用開關機,但是重啟後服務會回到預設狀態。

b、在init.d裡面得指令碼是沒有字尾名的,如下init.d/目錄下的服務指令碼

[root@leolinux ~]# ls /etc/init.d/

abrt-ccpp auditd cgred functions irqbalance lxc netfs ntpdate psacct rpcbind sandbox sssd ypbind

abrtd autofs cpuspeed haldaemon kdump mcelogd network numad quota_nld rpcgssd saslauthd sysstat

linux chkconfig命令

linux下config命令詳解

linux將自己的服務新增到系統的service中

linux命令學習 chkconfig

1.chkconfig 命令用法 chkconfig list name 檢視服務 chkconfig add 增加服務 chkconfig del 刪除服務 chkconfig level 設定服務啟動方式 chkconfig help 幫助資訊 2.chkconfig 示例 檢視服務 chkco...

linux命令chkconfig用法詳解

功能說明 檢查,設定系統的各種服務。語 法 chkconfig add del list 系統服務 或 chkconfig level 等級代號 系統服務 on off reset 補充說明 這是red hat公司遵循gpl規則所開發的程式,它可查詢作業系統在每乙個執行等級中會執行哪些系統服務,其中...

Linux下chkconfig命令詳解

chkconfig命令主要用來更新 啟動或停止 和查詢系統服務的執行級資訊。謹記chkconfig不是立即自動禁止或啟用乙個服務,它只是簡單的改變了符號連線。使用語法 chkconfig add del list 系統服務 或 chkconfig level 等級代號 系統服務 on off res...