我有一个 systemd 服务,显示以下错误 service start request repeated too quickly, refusing to start
我知道该服务被配置为在失败时重新启动,并且它一次又一次地重新启动。但它究竟什么时候拒绝重启?是否有定义它的限制或数量?
此外,究竟是too quickly什么意思,它是给定时间段内重启次数的限制吗?
Sve*_*ven 52
默认限制是允许在 10 秒内重新启动 5 次。如果服务由于Restart=服务定义中的config 选项而超过该阈值,它将不再尝试重新启动。
速率由StartLimitIntervalSec=和StartLimitBurst=选项配置,Restart=选项控制 SystemD 何时尝试重新启动服务。
更多信息中man systemd.unit和man systemd.service。
然后用于systemctl daemon-reload重新加载单元配置。
不完全相同的问题,但由于这是搜索时出现的问题......
如果您只想启动它而忽略这个荒谬的限制胡说八道(例如在 Debian 上,这是 apt 自动启动服务的必然结果,在它们被配置之前注定它们会失败并循环并达到限制,在开始时向日志发送垃圾邮件限制您甚至无法轻松阅读原因的错误):
请参阅https://bugzilla.redhat.com/show_bug.cgi?id=1016548,其中 Michal Schmidt 说您可以在其中找到它man systemd.service并建议重置失败状态:
systemctl reset-failed <service name>
Run Code Online (Sandbox Code Playgroud)
所以现在您的服务可能会启动。或者至少不应该在日志中的实际最新原因,例如。看过journalctl -x