启动时“daemon-reload”的效果是否被抑制?

启动时“daemon-reload”的效果是否被抑制?

我有一个systemd服务配置为在图形会话启动时启动。

[Unit]
Description=My service
Requires=display-manager.service
After=graphical.target display-manager.service

< ... >

[Install]
WantedBy=graphical.target

到目前为止,该服务在启用时在启动时正确启动,因此我假设没有“微不足道”的错误(例如语法等)。

enable然而,最近引入了一项更改,其中首先决定是否使用该服务的问题是根据systemd在启动序列中较早排队的不同服务评估的配置文件来决定的。如果发现My service需要启用,它将运行systemctl enable my.service,并且正确完成。系统日志显示相应的systemd[1]: Reloading.条目。如果我添加一个额外的systemctl daemon-reload,我会收到Reloading两次消息。

然而my.service图形会话启动时不运行。

  • systemctl status显示它已启用(但 - 如前所述 - 未运行):
    Loaded: loaded (/etc/systemd/system/my.service; enabled; vendor preset: disabled)
    Active: inactive (dead)
    
  • 检查graphical.target.wants目录时,它包含到 的符号链接my.service

如果我现在只是重新启动系统,它my.service就会在启动时正确启动。

这让我认为systemd引导队列在引导阶段更改时不会更新。是这样吗?如果是这样,有补救办法吗?

相关内容