重新启动或“systemctl daemon-reload”来更改 /etc/systemd/system.conf?

重新启动或“systemctl daemon-reload”来更改 /etc/systemd/system.conf?

在 CentOS-7 中,systemd 的 /etc/systemd/system.conf 中的选项更改是否需要重新启动,还是“systemctl daemon-reload”就足够了?

答案1

不会,daemon-reload 将重新加载所有单元文件,而不是 systemd 本身的配置。但是,# systemctl daemon-reexec它将重新执行 systemd 并使其在此过程中消化其新配置。

来自 systemctl 手册页:

daemon-reexec
       Reexecute the systemd manager. This will serialize the manager
       state, reexecute the process and deserialize the state again. This
       command is of little use except for debugging and package upgrades.
       Sometimes, it might be helpful as a heavy-weight daemon-reload.
       While the daemon is being reexecuted, all sockets systemd listening
       on behalf of user configuration will stay accessible.

当手册页说 daemon-reexec 对软件包升级有用时,这在很大程度上意味着此命令会执行所有新的二进制文件并重新处理其配置。但是,我们用于升级 systemd 的 RPM 已经包含一个执行此操作的脚本,因此在正常升级的情况下通常不需要它。

或者您可以重新启动。两种方法都可以。

答案2

仔细查看了一下如何使其工作,您还需要在服务器上重新启动服务:(

首先上面的命令:

systemctl daemon-reexec

然后:

systemctl system.slice restart

一旦完成,就完成了,但是我一直想知道这种运行的开销。

答案3

对我来说systemctl daemon-reload引发了一个错误,Unknown command verb deamon-realod.因为一些单元文件中有窗口 \r\n 换行符。

只需使用 apt install dos2unixdos2unix myfile.service

我更改的所有文件都修复了该问题。

相关内容