开篇词
通过 systemctl
命令,我们可以方便地管理 systemd 系统及服务。
守护进程的可能存放目录
/etc/systemd/system/*
/run/systemd/system/*
/usr/lib/systemd/system/*
服务守护进程类型
这里是系统服务的一些分类:
类型 | 描述 |
---|---|
.service |
指定系统的服务。 |
.socket |
用于进程间通讯的套接字文件。必须有与其对应的服务文件。 |
.snapshot |
系统快照。 |
.device |
由内核识别出的处于 /sys 或 /dev 目录的设备。 |
.mount |
文件系统所挂载的挂载点。 |
.automount |
由 systemd 所控制的文件系统自动挂载点。 |
.swap |
由 systemd 所控制的交换设备或内存分页文件。 |
.target |
结合了现有单位及依赖的目标单位,它们本身不提供额外的功能。它们比经典的 SysV init 系统里的运行级别更灵活。 |
.path |
由 systemd 所控制的用于基于路径激活的路径。 |
Systemctl
常用的命令
普通命令
这里是 systemctl
命令的一些命令:
命令 | 描述 |
---|---|
start PATTERN… |
激活指定的守护进程。 |
stop PATTERN… |
反激活指定的守护进程。 |
reload PATTERN… |
种植指定的守护进程并在重新加载其配置文件后将其重启。 |
restart PATTERN… |
停止指定的守护进程并将其重启。 |
try-restart PATTERN… |
若指定的守护进程正在运行,将其停止并重启。 |
reload-or-restart PATTERN… |
重新加载或重启指定的运行中守护进程并启动停止的守护进程。 |
try-reload-or-restart |
重新加载或重启指定的运行中守护进程。 |
isolate |
只可在当守护进程配置文件中的 AllowIsolate 属性被指定为 true 时使用。 |
is-active |
检查指定守护进程以查看其是否激活。 |
status |
显示守护进程状态的简短信息。 |
list-dependencies |
显示指定守护进程所依赖的其他守护进程。 |
单位文件命令
这里是 systemctl
命令的一些文件相关的命令:
命令 | 描述 |
---|---|
enable |
在系统启动的同时启动指定的守护进程。 |
disable |
在系统启动的同时不要启动指定的守护进程。 |
is-enabled |
检查以确认是否有处于激活状态的守护进程文件。 |
mask |
防止守护进程的启动。 |
unmask |
取消 mask 效果。 |
get-default |
通过 default.target 来启动默认目标。 |
set-default |
为 default.target 链接设置默认目标。 |
管理器生命周期命令
这里是 systemctl
命令的一些守护进程生命周期相关的命令:
命令 | 描述 |
---|---|
daemon-reload |
重新运行所有的生成器,重新加载所有的守护进程文件并重建完整的依赖树。 |
系统命令
这里是 systemctl
命令的一些系统相关的命令:
命令 | 描述 |
---|---|
rescue |
进入 rescue 模式并发送消息给所有用户。 |
emergency |
进入 emergency 模式并发送消息给所有用户。 |
poweroff |
关闭系统。 |
reboot |
重启系统。 |
suspend |
暂停系统。 |
hibernate |
使系统休眠。 |
hybrid-sleep |
使系统暂停并处于休眠状态。 |
运行级别
这里是 systemctl
命令的一些运行级别目标:
运行级别 | 目标 |
---|---|
0 |
poweroff.target |
1 |
rescue.target |
2, 3, 4 |
multi-user.target |
5 |
graphical.target |
6 |
reboot.target |
守护进程配置文件
[UNIT] 部分选项
这里是守护进程配置文件的一些单位部分字段:
字段 | 描述 |
---|---|
Description= |
守护进程名称。 |
Requires= |
守护进程所依赖的其他守护进程。 |
Wants= |
守护进程所依赖的其他守护进程。(推荐使用) |
Conflicts= |
与当前守护进程相冲突的守护进程。 |
Before, After= |
在该守护进程启动之前或之后启动的守护进程。 |
[SERVICE] 部分选项
这里是守护进程配置文件的一些服务部分字段:
字段 | 描述 |
---|---|
Type= |
守护进程启动类型。可用的类型为:simple 、forking 、oneshot 、dbus 、notify 、idle 。 |
ExecStart= |
守护进程启动时执行的命令。 |
ExecStartPrec=,ExecStartPost= |
ExecStart 命令执行之前或之后执行的命令。 |
ExecStop= |
守护进程关闭之前执行的命令。 |
Restart= |
守护进程是否应该被允许在已存在、终止后或超时候重启。 |
[INSTALL] 部分选项
这里是守护进程配置文件的一些安装部分字段:
字段 | 描述 |
---|---|
Alias= |
守护进程的额外名称。 |
WantedBy=, RequiresBy= |
守护进程所依赖的其他守护进程。 |
我所撰写的英文版本
79. Daemon Management - Systemd and Systemctl
引用
- SYSTEMD(1)
- SYSTEMD.SPECIAL(7)
- SYSTEMD.UNIT(5)
- SYSTEMD.SERVICE(5)
- SYSTEMD.SOCKET(5)
- SYSTEMD.SNAPSHOT(5)
- SYSTEMD.DEVICE(5)
- SYSTEMD.MOUNT(5)
- SYSTEMD.AUTOMOUNT(5)
- SYSTEMD.SWAP(5)
- SYSTEMD.TARGET(5)
- SYSTEMD.PATH(5)
- SYSTEMCTL(1)
- RUNLEVEL(8)
参见
上一篇:
想看手册的其他内容?请访问该手册的所属专栏:《Linux 管理员手册:既简单又深刻》