【概要】
chkconfig命令用于更新和查询系统Linux系统服务的运行级别信息
【语法】
-
chkconfig --list [name]
-
chkconfig --add name
-
chkconfig --del name
-
chkconfig [--level levels] name
-
chkconfig [--level levels] name
【使用】
▼输出所有服务的启动信息
-
# chkconfig --list
-
syslog 0:off 1:off 2:on 3:on 4:on 5:on 6:off
-
netfs 0:off 1:off 2:off 3:on 4:on 5:on 6:off
-
network 0:off 1:off 2:on 3:on 4:on 5:on 6:off
-
pppoe 0:off 1:off 2:off 3:off 4:off 5:off 6:off
-
avahi-daemon 0:off 1:off 2:off 3:on 4:on 5:on 6:off
-
snmpd 0:off 1:off 2:off 3:off 4:off 5:off 6:off
-
postfix 0:off 1:off 2:on 3:on 4:on 5:on 6:off
-
省略
▼登录服务
-
# chkconfig --add proftpd
▼删除服务
-
# chkconfig --del proftpd
▼按执行等级开启/关闭服务。
-
# chkconfig --level 2345 netfs off
-
# chkconfig --level 2345 netfs on
△关于执行等级
-
等级0表示:表示关机
等级1表示:单用户模式
等级2表示:无网络连接的多用户命令行模式
等级3表示:有网络连接的多用户命令行模式
等级4表示:不可用
等级5表示:带图形界面的多用户模式
等级6表示:重新启动
【自作系统服务登录到chkconfig的方法】
有时候我们需要让自己写shell服务或者其他应用服务保持开机自启动的状态,这里简要介绍如果把自作的服务登录到chkconfig。
首先作为例子,我们做一个简单的shell,命名为test。
-
#!/bin/sh
-
#
-
# /etc/rc.d/init.d/test
-
#
-
# Starts the test daemon(test version)
-
#
-
# chkconfig: 345 44 56
-
# description: test
-
-
case $1 in
-
start)
-
echo "test service start!"
-
;;
-
stop)
-
echo "test service stop!"
-
;;
-
status)
-
echo "test service status!"
-
;;
-
*)
-
echo "Usage: test [start|stop|status]"
-
;;
-
esac
-
exit 0
红字部分是重点。如果不定义[
chkconfig:]和[
description:]的话,自作的服务就无法被登录。
chkconfig: AAA BBB CCC
AAA ???
该脚本将在运行级别
BBB ???
启动优先级
CCC ???
停止优先级
description:
説明
上面的例子中,运行级别为3,4,5的时候ON,除外为OFF,另外启动级别为44,停止级别为56。
下一步将写好的shell复制到
/etc/init.d,登录新的命令test。操作如下
-
# chkconfig --add test
-
# chkconfig --list | grep test
-
test 0:off 1:off 2:off 3:on 4:on 5:on 6:off
-
# cd /etc/rc.d
-
# ls -l rc[0-6].d/*test 查看test在各个运行级别下的
-
lrwxrwxrwx 1 root root 14 2000-00-00 00:00 rc0.d/K56test -> ../init.d/test
-
lrwxrwxrwx 1 root root 14 2000-00-00 00:00 rc1.d/K56test -> ../init.d/test
-
lrwxrwxrwx 1 root root 14 2000-00-00 00:00 rc2.d/K56test -> ../init.d/test
-
lrwxrwxrwx 1 root root 14 2000-00-00 00:00 rc3.d/S44test -> ../init.d/test
-
lrwxrwxrwx 1 root root 14 2000-00-00 00:00 rc4.d/S44test -> ../init.d/test
-
lrwxrwxrwx 1 root root 14 2000-00-00 00:00 rc5.d/S44test -> ../init.d/test
-
lrwxrwxrwx 1 root root 14 2000-00-00 00:00 rc6.d/K56test -> ../init.d/test
最后测试一下test是否被正常登录了。
-
# service test start
-
test service start!
-
# service test stop
-
test service stop!
-
# service test status
-
test service status!
-
# service test
-
Usage: test [start|stop|status]
例子演习完毕,删掉它吧,看着闹心。
-
# chkconfig --del test
-
# chkconfig --list | grep test
阅读(1113) | 评论(0) | 转发(0) |