系统执行命令达到启动限制后

我一直在做一个systemd服务来包装一个pipe理脚本,我正在试图优雅地处理它完全破坏。

现在我的Restart设置为always所以当某些事情失败时它会再次尝试,但是某些失败状态需要注意(缺lessconfiguration文件,错误的SQL等),所以我不希望它在后台以不可纠正的状态继续旋转。

我发现StartLimitIntervalStartLimitBurstStartLimitAction ,它会在Y秒内X失败后停止尝试重新启动它,但事实certificate,只有StartLimitAction可用的StartLimitAction是重新启动或closures计算机,这有点矫枉过正。

我一直在寻找OnFailure并写了一个小型服务,当它被触发时发送一个警报邮件 ,但是OnFailure触发每次服务死亡,而不是当它达到起始限制,所以我们得到一堆电子邮件,而不是一个。

任何想法接下来要尝试什么?

Startlimitaction可能是你想要的。 手册页说

…采取一个,重新启动,重新启动,重新启动,立即,poweroff,poweroff-force或poweroff-immediate。 如果没有设置,则触发速率限制将不会触发任何动作,而且不允许启动

似乎设置startlimit行动到没有可能做你想要的。