探讨学习systemd服务管理
探讨学习 systemd 服务管理
核心就是三件事:
- 几个基础命令 -
systemctl和journalctl - 服务生命周期管理 - 安装、启用、启动、停止、卸载
- 读懂和编写 .service 文件 - 这是真正的精髓
重要习惯:当你创建新的单元文件或修改了任何单元文件后,必须让 systemd 重新加载其配置。
执行命令:
1 | sudo systemctl daemon-reload |
systemctl
1 | # 重新加载所有单元文件,使更改生效(不会重启正在运行的服务) |
用户级别
要使用用户级服务,需确保当前用户已启用linger模式。
1 | # 在系统级别启用用户 linger |
journalctl
1 | # 主要记录服务进程的启动、停止、重载等运行时状态变化,而不记录系统级的启用/禁用配置变更。 |
服务生命周期
“安装服务” = 创建 .service 文件 + systemctl enable + start
“卸载服务” = stop + systemctl disable + 删除文件
.service单元文件
单元文件的位置
/usr/lib/systemd/system/:发行版预设的单元文件。/etc/systemd/system/:系统管理员自定义的单元文件。当需要自定义时,应该将文件放在这里。~/.config/systemd/user/:用户级自定义的单元文件。
优先级:/etc/systemd/system/ 中的文件优先级高于 /usr/lib/systemd/system/。
单元文件的内容
1 | [Unit] |
All articles on this blog are licensed under CC BY-NC-SA 4.0 unless otherwise stated.