概述
chkconfig
命令可以用来查看和修改系统服务启动关闭状态。
可以看到如图有数字 [0-6]
,它们表示 Linux 的运行级别。各运行级别如下:
0
:系统停机状态,系统默认运行级别不能设置为0,否则不能正常启动,机器关闭。1
:单用户工作状态,root权限,用于系统维护,禁止远程登陆,就像Windows下的安全模式登录。2
:多用户状态,没有NFS支持。3
:完整的多用户模式,有NFS,登陆后进入控制台命令行模式。4
:系统未使用,保留一般不用,在一些特殊情况下可以用它来做一些事情。例如在笔记本电脑的电池用尽时,可以切换到这个模式来做一些设置。5
:登陆后进入图形GUI模式,XWindow系统。6
:系统正常关闭并重启,默认运行级别不能设为6,否则不能正常启动。运行init 6机器就会重启。
注:在 CentOS 6 中使用该命令管理系统服务,而在 CentOS 7 及以上版本使用
systemctl
命令管理系统服务。
语法
该命令的语法如下:
chkconfig [--list] [--type <type>] [name]
chkconfig --add <name>
chkconfig --del <name>
chkconfig --override <name>
chkconfig [--level <levels>] [--type <type>] <name> <on|off|reset|resetpriorities>
该命令支持的选项有:
选项 | 说明 |
---|---|
–list | 显示系统服务列表,以及这些服务在运行级别0到6中已被启动(on)还是停止(off) |
–add | 增加所指定的系统服务,让chkconfig指令得以管理它,并同时在系统启动的叙述文件内增加相关数据 |
–del | 删除所指定的系统服务,不再由chkconfig指令管理,并同时在系统启动的叙述文件内删除相关数据 |
–level | 指定读系统服务要在哪一个执行等级中开启或关毕。可以设置的数字有 [0-6] 。其中 1 表示关机;2 表示单用户;3 表示无网络连接的多用户命令行模式;4 表示有网络连接的多用户命令行模式;4 表示不可用;5 表示带图形界面的多用户模式;6 表示重新启动 |
使用
列出所有的系统服务
如果要查看所有的系统服务,可以使用 --list
选项。命令格式如下:
chkconfig --list
开启服务
如果要开启某个服务,命令格式如下:
# 语法
chkconfig 服务名 on
# 示例,开启 sshd 服务
chkconfig sshd on
关闭服务
如果要关闭某个服务,命令格式如下:
# 语法
chkconfig 服务吗 off
# 示例,关闭 sshd 服务
chkconfig sshd off
新增服务
如果我们要新增某个服务,命令格式如下:
# 语法
chkconfig --add 服务名
# 示例,新增 httpd 服务
chkconfig --add httpd
删除服务
如果我们要删除某个服务,命令格式如下:
# 语法
chkconfig --del 服务名
# 示例,删除 httpd 服务
chkconfig --del httpd
设置服务级别
我们可以通过 --level
指定某个服务的运行级别。命令格式如下:
# 语法,指定某个服务哪些级别为 启动
chkconfig --level 运行级别 服务名 on
# 示例,指定 httpd 服务在运行级别 3 和 5 上为启动。即开机自启动就是配置运行级别为 35
chkconfig --level 35 httpd on
# 语法,指定某个服务哪些级别为 关闭
chkconfig --level 运行级别 服务名 off
# 示例,指定 httpd 服务的其他运行级别为关闭
chkconfig --level 01246 httpd off
可以将某个服务的运行级别设置为
35
表示开机自启动。