liunx設定自啟動之chkconfig命令詳解
chkconfig命令主要用查詢/設定系統服務的執行級別 一般用來設定啟動服務
要熟悉這個命令 首先需要知道系統執行級別這個概念 liunx
系統執行級別
一共有六個執行級別(不算關機的話) 分別由數字 0-6來表示 其中0表示關機 其它各級別資訊如下:
1:單使用者模式
2:無網路連線的多使用者命令列模式
3:有網路連線的多使用者命令列模式
4:不可用
5:帶圖形介面的多使用者模式
6:重新啟動
引數說明
引數 --list 顯示所有系統服務列表(可省) 結果如下
[xxxx ~]# chkconfig --list abrt-ccpp 0:關閉 1:關閉 2:關閉 3:關閉 4:關閉 5:關閉 6:關閉 abrtd 0:關閉 1:關閉 2:關閉 3:關閉 4:關閉 5:關閉 6:關閉 acpid 0:關閉 1:關閉 2:關閉 3:關閉 4:關閉 5:關閉 6:關閉 aegis 0:關閉 1:關閉 2:啟用 3:啟用 4:啟用 5:啟用 6:關閉 atd 0:關閉 1:關閉 2:啟用 3:啟用 4:啟用 5:啟用 6:關閉 auditd 0:關閉 1:關閉 2:關閉 3:關閉 4:關閉 5:關閉 6:關閉 blk-availability 0:關閉 1:啟用 2:關閉 3:關閉 4:關閉 5:關閉 6:關閉 cpuspeed 0:關閉 1:啟用 2:關閉 3:關閉 4:關閉 5:關閉 6:關閉 crond 0:關閉 1:關閉 2:啟用 3:啟用 4:啟用 5:啟用 6:關閉 gshelld 0:關閉 1:關閉 2:啟用 3:啟用 4:啟用 5:啟用 6:關閉 haldaemon 0:關閉 1:關閉 2:關閉 3:關閉 4:關閉 5:關閉 6:關閉 htcacheclean 0:關閉 1:關閉 2:關閉 3:關閉 4:關閉 5:關閉 6:關閉 httpd 0:關閉 1:關閉 2:關閉 3:關閉 4:關閉 5:關閉 6:關閉
檢視php-fpm服務
[xxx ~]# chkconfig --list php-fpm
php-fpm 0:關閉 1:關閉 2:啟用 3:啟用 4:啟用 5:啟用 6:關閉
--level 設定服務的執行級別 語法形式如下 chkconfig --level 23 service off|on|reset 23即為執行級別 service為服務 off關閉 on開啟 reset重啟
例:設定php-fpm在23級別不啟動
chkconfig --level 23 php-fpm off
--add 增加一個服務 服務指令碼應位於/etc/init.d/資料夾下 語法 chkconfig --add servicename
例:增加memcached服務
vim memcached
內容如下
#! /bin/sh # # memcached: MemCached Daemon # # chkconfig: - 90 25 # description: MemCached Daemon # # Source function library. . /etc/rc.d/init.d/functions . /etc/sysconfig/network PORT=11211 USER=daemon MAXCONN=1024 CACHESIZE=128 OPTIONS="" HOST=127.0.0.1 MEMCACHED="/usr/local/memcached/bin/memcached" PID="/var/run/memcached/memcached.pid" start() { echo -n $"Starting memcached: " daemon $MEMCACHED -u $USER -d -m $MAXCONN -l $HOST -p $PORT -P $PID echo } stop() { echo -n $"Shutting down memcached: " killproc memcached echo } [ -f $MEMCACHED ] || exit 1 # See how we were called. case "$1" in start) start ;; stop) stop ;; restart) stop sleep 3 start ;; *) echo $"Usage: $0 {start|stop|restart}" exit 1 esac exit 0
其中
# chkconfig: - 90 25
告訴chkconfig執行級別 啟動優先順序 停止優先順序 -代表在任何級別都不執行 90為啟動優先順序 25為停止優先順序 拷貝到/etc/init.d/目錄
cp memcached /etc/init.d/memcached
增加memcached服務
chkconfig --add memcached
新增服務後可以使用--level命令來設定執行級別
--del命令 刪除服務 語法 chkconfig --del 服務名
例:刪除剛才新增的memcache服務
chkconfig --del memcached
注意事項
1. chkconfig不會自動禁止或啟用一個服務 如上面我將memcached執行設定為 --level 2345 memcached on 如果memcached在當前級別下未啟動 那麼執行chkconfig後也不會自動啟動
2.啟動指令碼需在/etc/init./下才可以執行刪除和新增 同上理 刪除和新增服務後 該服務也不會自行啟動或者停止