首先,我们需要了解一下 linux 程序运行的几种运行等级run-level
等级0表示:表示关机
等级1表示:单用户模式
等级2表示:无网络连接的多用户命令行模式
等级3表示:有网络连接的多用户命令行模式
等级4表示:某些发行版的linux使用此等级进入x windows system
等级5表示:带图形界面的多用户模式
等级6表示:重新启动
运行级的改变可以通过init命令来切换。例如,假设你要维护系统进入单用户状态,那么,可以使用init 1来切换。在Linux的运行级的切换过程中,系 统会自动寻找对应运行级的目录/etc/rc[0-6].d下的K和S开头的文件,按后面的数字顺序,执行这些脚本。对这些脚本的维护,是很繁琐的一件事 情,Linux提供了chkconfig命令用来更新和查询不同运行级上的系统服务。
chkconfig 这个程序可以将 /etc/rc.d/init.d/ 里面的可执行服务与 /etc/xinetd.d 里面的相关可执行的服务,连结到你指定的 run-level 里头去。
注意:/etc/init.d/是指向/etc/rc.d/init.d/的链接,如下图实验:
如何使用chkconfig
# chkconfig [--level levels] [--list|add|del] [service name]
参数说明:
--level :同样的说明了可以设定不同的 run-level 的咚咚!
--list :列出 run-level 情况下的该套件名称是否有被开机启动?!
--add :增加一个 service_name 在开机的时候启动;
--del :删除一个开机启动的服务!
service name :这个服务名称必须要实际存在 /etc/rc.d/init.d 这个目录下才行
常用命令:
列出目前系统上面所有被 chkconfig 管理的服务
# chkconfig --list
列出某一个服务的运行级别情况
# chkconfig --list mysql
显示出目前在 run level 3 为启动的服务
# chkconfig --list | grep ’3:on’
添加使用chkconfig管理的服务
# chkconfig --add mysql
使mysql在2345运行级别开始服务/关闭服务
# chkconfig mysql on
# chkconfig mysql off
让 mysql 这个服务在 run level 为 3 时启动:
# chkconfig --level 3 mysql on
综合使用实例:
参考资料: