自centOS7后,新增了一个管理服务的命令——systemctl,通过这个命令可以非常方便的管理系统上的服务。
通过systemctl开启、关闭服务
下面列出关于服务的开启、关闭相关选项
start 开启服务
stop 关闭服务
restart 重启服务
status 查看服务状态
reload 重新载入配置文件(不关闭服务)
enable 开机自启动该服务
disable 关闭开机自启动
下面通过案例来学习
# 查看服务运行状况 # systemctl status atd ● atd.service - Job spooling tools Loaded: loaded (/usr/lib/systemd/system/atd.service; enabled; vendor preset: enabled) Active: active (running) since Sat 2020-11-07 16:20:59 CST; 3 days ago Main PID: 3002 (atd) CGroup: /system.slice/atd.service └─3002 /usr/sbin/atd -f Nov 07 16:20:59 iz8vb626ci0aehwsivxaydz systemd[1]: Started Job spooling tools. Nov 07 16:20:59 iz8vb626ci0aehwsivxaydz systemd[1]: Starting Job spooling tools...
通过上面显示的信息,我们可以获取很多信息。从第二行Loaded,出现了enabled表示该服务开机自启动。从第三行的running得知该服务正在运行中。
下面再来演示关闭、启动服务
# systemctl stop atd # systemctl start atd
关于服务的运行状况,除了常见的running、dead等,还有一些,下面列出
active(running) 正在运行
active(waiting):等待执行(等其他服务执行后,再执行)
active(exited):仅执行一次就正常结束的服务
inactive(dead):服务未启动
另外,关于服务开机是否启动也有几个选项:
enable :开机启动
disable:开机不启动
static:开机不能自启动,但能被其他自启动的服务启动
mask:无论如何也不会启动,该服务已被强制注销
通过systemctl观察系统上服务
通过systemctl可以查看目前有哪些服务正在运行,也可以查看系统上所有的服务(包括未启动的),还可以查看某一类型的服务。
list-units 列出当前所有启动的服务,若没有使用任务选项,则默认使用该选项。加上-a则显示所有,包括未启动的服务
--type=TYPE 列出某一类型的服务
下面看演示内容
# 列出系统所有正在运行的服务 # systemctl UNIT LOAD ACTIVE SUB DESCRIPTION proc-sys-fs-binfmt_misc.automount loaded active running Arbitrary Executable File Formats File System Automoun sys-devices-pci0000:00-0000:00:03.0-virtio0-net-eth0.device loaded active plugged Virtio network device sys-devices-pci0000:00-0000:00:04.0-virtio1-virtio\x2dports-vport1p1.device loaded active plugged /sys/devices/pci0000:00/0000:00:04. …… # 列出系统正在运行的service类型的服务 # systemctl --type=service UNIT LOAD ACTIVE SUB DESCRIPTION aegis.service loaded active running LSB: aegis update. aliyun.service loaded active running aliyun-assist atd.service loaded active running Job spooling tools auditd.service loaded active running Security Auditing Service # 列出系统上所有服务,包括未运行的 # systemctl -a ……
通过systemctl管理不同的操作环境(target unit)
在centos7中,有非常多个target unit,但这里我们只要知道几个常用的target unit,下面列出常用的target unit:
graphical.target 图形模式
multi-user.target 文本模式
rescue.target 一般救援模式
emergency.target 紧急救援模式
接下来再看如何查看系统默认的操作环境,以及如何去修改操作环境。
systemctl [选项] [unit.target] [选项] get-default:查看系统默认操作环境 set-default:设置系统默认操作环境 # 查看默认的操作环境 # systemctl get-default multi-user.target # 重新设置新的默认操作环境 # systemctl set-default graphical.target Removed symlink /etc/systemd/system/default.target. Created symlink from /etc/systemd/system/default.target to /usr/lib/systemd/system/graphical.target. # systemctl get-default graphical.target
以上是linux运维之通过systemctl管理服务的详细内容。更多信息请关注PHP中文网其他相关文章!