在服务器上改了一个 .service 文件,比如调整 ExecStart、Environment 或依赖关系,保存后直接 restart,有时还是按旧配置跑,甚至提示 unit 文件已经变化。
这种情况先别反复重启服务。更常见的原因是 systemd 还没有重新读取 unit 文件。
先执行:
sudo systemctl daemon-reload 然后再重启对应服务:
sudo systemctl restart your-service.service 最后看一下状态,确认有没有加载失败或启动错误:
sudo systemctl status your-service.service 如果改的是当前用户自己的服务,不是系统服务,命令要加 --user:
systemctl --user daemon-reload
systemctl --user restart your-service.service systemd 官方 systemctl 手册说明,daemon-reload 会重新加载 systemd 管理器配置,重新读取所有 unit 文件,并重建依赖树。参考:systemctl daemon-reload 文档。
最后提醒两点:第一,daemon-reload 只让 systemd 重新认识 unit 文件,不会替你重启正在运行的服务;第二,如果文件语法写错,先看 systemctl status 和 journalctl -u your-service.service 的报错,不要只盯着 reload 命令本身。




留言评论
暂无留言