我正在尝试创建一个将监视服务的systemd文件,并在崩溃时重新启动它。这是一个棘手的部分:如果服务在一分钟内崩溃超过5次,我想将其标记为失败并停止尝试自动重启它。使用Upstart,可以通过“respawn limit”轻松完成。
Systemd可以使用StartLimitIntervalSec对自动重启进行速率限制,但这不是我想要的。
答案 0 :(得分:3)
欢迎使用StackOverflow。对于系统问题,Unix & Linux StackExchange网站将来会更适合提问。
您正在寻找StartLimitInterval=60
,它允许您设置限制的秒数。在systemd
版本230周围,这会重命名为StartLimitIntervalSec=
。
这将与StartLimitBurst=5
结合使用,每分钟最多设置5次。
还有StartLimitAction
,但它默认为none
的值,在这种情况下已经完成了您想要的操作。
您可以在man systemd.unit
中找到这些内容。如果您不确定在哪里可以找到有关指令的文档,可以使用man systemd.directive
查找任何指令的记录位置。