根据文档中的各个条款,“激活”状态是非活动状态和活动状态之间的转换。到目前为止很明显。
但它到底是如何定义的呢?
是什么决定了服务是否不再处于非活动状态而是处于活动状态?
是什么决定了服务是否不再激活而是激活?
我所知道的唯一进入“激活”状态的是ExecStartPre
脚本;当它运行时,该服务保持“激活”状态。
是否有其他方法可以使服务保持激活状态?
您能否让该服务启动主服务ExecStart
,但仅在可执行文件导致某些特定的“我起来了!”时才考虑该服务处于活动状态?例如事件?
根据文档中的各个条款,“激活”状态是非活动状态和活动状态之间的转换。到目前为止很明显。
但它到底是如何定义的呢?
是什么决定了服务是否不再处于非活动状态而是处于活动状态?
是什么决定了服务是否不再激活而是激活?
我所知道的唯一进入“激活”状态的是ExecStartPre
脚本;当它运行时,该服务保持“激活”状态。
是否有其他方法可以使服务保持激活状态?
您能否让该服务启动主服务ExecStart
,但仅在可执行文件导致某些特定的“我起来了!”时才考虑该服务处于活动状态?例如事件?
这表明您使用了错误的
Type=
服务文件。有关何时启动什么服务的详细讨论,请参阅man systemd.unit
和。systemd.service
文本太长,无法合理地复制和粘贴到此处,但根据Type=
以下描述man systemd.service
:因此,您的服务从“激活”到“活动”的时间点不同,具体取决于其设置方式。然而,“激活”总是在同一点开始:systemd 开始执行服务文件中指定的任何操作的那一刻。