ch09 控制服务和守护进程
1 systemd服务管理
2 systemd服务管理工具:systemctl
3 systemd将系统服务类型分类:一种类就是一单元
service unit
某个具体的单元都有一个单元配置文件:
/usr/lib/systemd/system/XXX.serviceunit
例如 systemctl [enable\disable\start\stop\reload\restart\mask\unmask\is-enable\list-dexx]
补充:《linux systemctl命令详解》
这篇文章主要介绍了linux systemctl命令详解,介绍了 systemd 的基本概念和主要特点。 systemd 相关的绝大多数任务都是通过 systemctl 命令管理的。注意,文中所有的 demo 都在 RHEL8.0 中完成。
systemctl 命令有两大类功能:控制 systemd 系统;管理系统上运行的服务。
在介绍这些功能前让我们先来热个身,了解些 systemctl 命令自身相关的信息。
第一步:检查 systemd 的版本#systemctl --version。
第二步:查看 systemd 和 systemctl 程序相关的目录#whereis
systemd或whereis
systemctl。
第三步:确认 1 号进程
systemd 进程作为系统中的 1 号进程应该是毋庸置疑的,让我们搜索与 systemd 相关的进程:结果让人有点不敢相信自己的眼睛,我们搜到了好几个与 systemd 相关的进程,但是却没有 1 号进程。让我们看看 1 号进程是谁:系统的 1 号进程的确是 systemd。
管理单个 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 的注销。
我们先通过 unbound-anchor.timer 来观察服务类型 unit 的基本信息: