概述
systemctl
命令也是用来管理系统服务和控制 systemd
系统的。
注:该命令属于 CentOS 7 及以上版本采用的。
语法
该命令的语法如下:
systemctl start|stop|restart|status 服务名
该命令支持的选项有:
选项 | 说明 |
---|---|
-h | 显示帮助信息 |
–version | 显示版本信息 |
-a | 显示所有的服务 |
使用
注:
ls /usr/lib/systemd/system
命令可以查看服务。
查看指定服务状态
如果要查看指定服务的状态,命令格式如下:
# 语法
systemctl status 服务名
# 示例,查看防火墙的状态
systemctl status firewalld
关闭指定服务
如果要关闭指定服务,命令格式如下:
# 语法
systemctl stop 服务名
# 示例,关闭防火墙服务
systemctl stop firewalld
启动指定服务
如果要启动指定服务,命令格式如下:
# 语法
systemctl start 服务名
# 示例,启动防火墙服务
systemctl start firewalld
重启指定服务
如果要重启指定服务,命令格式如下:
# 语法
systemctl restart 服务名
# 示例,重启防火墙服务
systemctl restart firewalld
查看服务开机启动状态
如果要查看所有服务的开机启动状态,命令格式如下:
# 语法,查看所有服务的开机启动状态
systemctl list-unit-files
# 语法,查看指定服务的开机启动状态
systemctl list-unit-files | grep 指定服务名
关闭指定服务的自启动
如果想要关闭指定服务的自动启动,命令格式如下:
# 语法
systemctl disable 服务名
# 示例,关闭防火墙服务的自启动
systemctl disable firewalld.service
开启指定服务的自启动
如果要开启指定服务的自启动,命令格式如下:
# 语法
systemctl enable 服务名
# 示例
systemctl enable firewalld.service
查看系统的运行级别
如果要查看系统的运行级别,在 CentOS 6 系统中可以通过 runlevel
命令;在 CentOS 7 系统中可以通过如下命令查看:
# 查看当前系统的运行级别
systemctl get-default
# 修改当前系统的运行级别(其中 TARGET 可以是 multi-user 或 graphical)
systemctl set-default TARGET.target
在 CentOS 6 系统中运行级别分为 7 级(常用的级别是 3 和 5):
- 运行级别0:系统停机状态,系统默认运行级别不能设为0,否则不能正常启动
- 运行级别1:单用户工作状态,root权限,用于系统维护,禁止远程登陆
- 运行级别2:多用户状态(没有NFS),不支持网络
- 运行级别3:完全的多用户状态(有NFS),登陆后进入控制台命令行模式
- 运行级别4:系统未使用,保留
- 运行级别5:X11控制台,登陆后进入图形GUI模式
- 运行级别6:系统正常关闭并重启,默认运行级别不能设为6,否则不能正常启动
在 CentOS 7 中将运行级别简化为:
multi-user.target
:等价于原运行级别 3(多用户有网,无图形界面)graphical.target
:等价于原运行级别 5(多用户有网,有图形界面)