一旦另一个单元变为非活动状态,是否有任何方法可以延迟一个单元的启动?我有一个启动进程 (oneshot.service),它作为一次性运行并设置环境供所有其他进程使用,然后退出(这使服务报告处于非活动状态)。
但是,我想等到该过程完成后再启动所有其他过程。我希望有某种类型的信号或其他服务文件可以排队的东西。使用“After=oneshot.service”不会产生我想要的结果,因为它会在 oneshot.service 完成之前启动其他进程。
一个更实际的示例是让 SNMPD 子代理延迟其启动,直到 SNMPD 代理启动并运行之后...否则,代理和子代理之间不会进行通信,除非您在 SNMPD 代理启动后未知的时间启动子代理。
答案1
你有没有尝试过RemainAfterExit=yes
你的oneshot.service
服务吗?
这样该服务仍将标记为活动状态