本文為隨筆簡記,記述 /etc/systemd/system.conf 修改后生效方法
方法有二
- 重啟主機
- 執行
systemctl daemon-reexec
使用daemon-reload無效原因
單純使用 systemctl daemon-reload 是不會對/etc/systemd/system.conf刷新的,引用下serverfault.com對systemd-system.conf的說明
No, daemon-reload will reload all unit files, not the configuration for systemd itself. However, # systemctl daemon-reexec will re-execute systemd and cause it to digest its new configuration in the process.
From the systemctl man page:
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.
When the man page says daemon-reexec is useful for package upgrades, it in large part means that this command executes whatever new binaries there are and re-processes its configs. HOWEVER, the RPM that we use to upgrade systemd already contains a script to do this, so it is usually never needed in the case of a normal upgrade.
Or you can reboot. Either will do.
也就是說,daemon-reexec 會重新執行systemd管理器,重新讀取系統配置文件,而daemon-reload只會去讀service部分的配置,不包含全局配置/systemd/system.conf,相當於重量級的daemon-reload.
