TL;DR
改完 unit 文件先 systemctl daemon-reload;看日志用 journalctl -u 服务名 -f;systemctl is-active 服务名 适合脚本判断状态。
服务控制
| 操作 | 命令 |
|---|
| 启动 | systemctl start 服务名 |
| 停止 | systemctl stop 服务名 |
| 重启 | systemctl restart 服务名 |
| 重载配置 | systemctl reload 服务名 |
| 开机自启 | systemctl enable --now 服务名 |
| 禁用自启 | systemctl disable 服务名 |
| 状态 | systemctl status 服务名 |
| 脚本判断 | systemctl is-active 服务名 |
配置
| 操作 | 命令 |
|---|
| 重新读取 unit | systemctl daemon-reload |
| 查看 unit 内容 | systemctl cat 服务名 |
| 编辑覆盖 | systemctl edit 服务名 |
| unit 目录 | /etc/systemd/system/ 与 /lib/systemd/system/ |
日志
| 操作 | 命令 |
|---|
| 服务日志 | journalctl -u 服务名 |
| 跟踪日志 | journalctl -u 服务名 -f |
| 最近 N 行 | journalctl -u 服务名 -n 50 |
| 指定时间 | journalctl --since "1 hour ago" |
常见坑
- reload 报 NAMESPACE 错误时,进程可能仍健康,可尝试用应用自身的管理接口热加载;
systemctl status 的「active (running)」与「exited」都算正常,看具体 Sub 状态。
来源
- systemd 官方文档(freedesktop.org/software/systemd)
最后更新:2026-08-02