修改systemd单元文件后需执行sudo systemctl daemon-reload,以使systemd重新加载配置,否则更改无效;该命令仅更新systemd内部状态,不重启服务,后续需手动重启或重载服务才能生效。

当你在Linux系统上修改或创建了任何systemd单元文件(如
.service
.timer
.socket
systemctl daemon-reload
要重载systemd守护进程的配置,你只需要在终端中运行以下命令:
sudo systemctl daemon-reload
执行这个命令后,systemd会重新加载所有单元文件,包括你新添加的或修改过的。但请记住,
daemon-reload
daemon-reload
sudo systemctl restart <service_name>
我们为什么非要多此一举地执行一个
daemon-reload
所以,最佳时机就是:任何时候你修改了systemd的单元文件(位于/etc/systemd/system/
/usr/lib/systemd/system/
.service
.timer
.socket
.mount
my-app.service
daemon-reload
systemctl start my-app
nginx.service
ExecStart
daemon-reload
这是一个非常关键的区别,也常常是新手容易混淆的地方。简单来说,
systemctl daemon-reload
systemctl restart <service_name>
systemctl reload <service_name>
systemctl daemon-reload
restart
reload
daemon-reload
systemctl restart <service_name>
nginx.conf
nginx.service
restart
systemctl reload <service_name>
reload
reload
nginx.conf
systemctl reload nginx
reload
所以,区分使用很简单:
.service
systemctl daemon-reload
systemctl restart <service_name>
reload
systemctl reload <service_name>
systemctl reload <service_name>
systemctl restart <service_name>
systemctl restart <service_name>
即使
daemon-reload
问题一:配置似乎没有生效,服务行为依旧
daemon-reload
daemon-reload
sudo systemctl daemon-reload
sudo systemctl restart <service_name>
reload
systemctl status <service_name>
systemctl cat <service_name>
问题二:daemon-reload
daemon-reload
journalctl -xe
daemon-reload
systemd-analyze verify <path_to_your_unit_file>
ExecStart
问题三:新创建的单元文件找不到
/etc/systemd/system/
/usr/lib/systemd/system/
.service
.timer
644
问题四:服务重启后,旧的日志文件还在继续增长,没有新的日志
StandardOutput
StandardError
journal
syslog
Restart=always
处理这些问题时,保持耐心和细致是关键。
journalctl
systemctl status
以上就是Linux如何重载systemd守护进程配置的详细内容,更多请关注php中文网其它相关文章!
每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号