有关:
Limit system reboot burst
我正在为一家运行相机服务的商业产品工作.此服务对于系统的正常功能至关重要.到目前为止,它很顺利,如果由于低级协议/驱动程序问题导致服务失败,我可以重新启动服务.这是来自.service单元文件的片段,用于处理服务重启和重启逻辑.
...
[service]
Restart=on-failure
StartLimitInterval=2min
StartLimitBurst=5
StartLimitAction=reboot-force
...
在某些条件下(例如:公交铁路故障),任何数量的重启都很可能无法帮助恢复系统.在这种情况下,我们希望停止重启设备(因为它可能会让用户烦恼)并停止所有恢复摄像机管道的尝试.这可以通过监视服务来实现,该服务仅在停止进一步重新启动之前跟踪设备经历的重新启动次数.
另一种选择,我认为是依赖于systemd,而不是仅为此目的添加另一个监视服务(而这又将由systemd监视).我花了一些时间来查找systemd选项,阅读文档/示例以查看是否存在此类重新启动阈值.我正在寻找一种方法来限制重新启动的数量到一些可配置的StartLimitReboot
TL;博士
我希望实现这样的目标
...
[service]
...
...
...
StartLimitReboot=3 # stop rebooting after this limit
...
看起来systemd现在不支持这样的语义,但如果它支持,那将大大简化我的任务.