【问题标题】:systemd equivalent of upstart's "respawn limit"systemd 相当于暴发户的“重生限制”
【发布时间】:2017-02-01 20:52:12
【问题描述】:

我正在尝试制作一个 systemd 文件来监控服务并在它崩溃时重新启动它。这是棘手的部分:如果服务在一分钟内崩溃超过 5 次,我想将其标记为失败并停止尝试自动重新启动它。使用 Upstart,这很容易通过“重生限制”完成。

Systemd 可以使用 StartLimitIntervalSec 对自动重启进行速率限制,但这不是我想要的。

【问题讨论】:

  • 这个问题在 serverfault.com 上可能更合适。因为它是我不确定它与编程相关。

标签: systemd


【解决方案1】:

欢迎来到 StackOverflow。对于 systemd 问题,Unix & Linux StackExchange 网站是未来更合适的提问地点。

您似乎正在寻找StartLimitInterval=60,它允许您设置限制的秒数。在systemd 230 版左右,这里重命名为StartLimitIntervalSec=

这将与 StartLimitBurst=5 结合使用以设置每分钟最多 5 次启动。

还有StartLimitAction,但它默认为none 的值,在这种情况下,它已经可以满足您的需求了。

您可以在man systemd.unit 中找到这些文档。如果您不确定在哪里可以找到有关指令的文档,您可以使用man systemd.directive 查找任何指令的文档记录位置。

【讨论】:

  • 我很抱歉发错地方了。我会在那里重新发布。但是, StartLimitIntervalSec 不是我想要的。它只是对自动启动进行速率限制。如果达到限制,我希望服务放弃并进入失败状态,而不是下一分钟再试一次。这就是“重生限制”的作用。
  • 您是否按照我的建议阅读了官方文档中的StartLimitAction=。它非常清楚地表明它将退出尝试启动应用程序:“如果设置了‘none’ [默认],则达到速率限制将不会触发任何操作,除了不允许启动之外。”
猜你喜欢
  • 1970-01-01
  • 2014-10-09
  • 1970-01-01
  • 2013-02-10
  • 2012-05-15
  • 1970-01-01
  • 2016-05-05
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多