# systemctl - 基础知识
# 简介
systemctl 是一个 systemd 工具,主要负责控制 systemd 系统和服务管理器。
systemd 是一个系统管理守护进程、工具和库的集合,用于取代 System V 初始进程。Systemd 的功能是用于集中管理和配置类UNIX系统。
# 使用
# 1. 首先检查你的系统中是否安装有systemd并确定当前安装的版本
systemctl --version
# systemd 215
# +PAM +AUDIT +SELINUX +IMA +SYSVINIT +LIBCRYPTSETUP +GCRYPT +ACL +XZ -SECCOMP -APPARMOR
1
2
3
4
2
3
4
# 2. 如何启动、重启、停止、重载服务以及检查服务(如 httpd.service)状态
# 启动
systemctl start httpd.service
# 重启
systemctl restart httpd.service
# 停止
systemctl stop httpd.service
# 重载服务
systemctl reload httpd.service
# 检查服务状态
systemctl status httpd.service
1
2
3
4
5
6
7
8
9
10
11
12
13
14
2
3
4
5
6
7
8
9
10
11
12
13
14
# 3. 管理单个 unit
systemctl 提供了一组子命令来管理单个的 unit,其命令格式为:
systemctl [command] [unit]
command 主要有:
- start:立刻启动后面接的 unit。
- stop:立刻关闭后面接的 unit。
- restart:立刻关闭后启动后面接的 unit,亦即执行 stop 再 start 的意思。
- reload:不关闭 unit 的情况下,重新载入配置文件,让设置生效。
- enable:设置下次开机时,后面接的 unit 会被启动。
- disable:设置下次开机时,后面接的 unit 不会被启动。
- status:目前后面接的这个 unit 的状态,会列出有没有正在执行、开机时是否启动等信息。
- is-active:目前有没有正在运行中。
- is-enable:开机时有没有默认要启用这个 unit。
- kill :不要被 kill 这个名字吓着了,它其实是向运行 unit 的进程发送信号。
- show:列出 unit 的配置。
- mask:注销 unit,注销后你就无法启动这个 unit 了。
- unmask:取消对 unit 的注销。