You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何配置Systemd服务在故障时仅自动重启一次?

Systemd 服务仅故障自动重启1次的配置调整方法

核心问题原因

你当前配置持续重启的核心原因是 StartLimitIntervalSec=3 和 RestartSec=3 数值相等:首次启动失败后需要等待3秒才会触发重启,此时刚好超出3秒的计数窗口,重启的启动动作会被计入新的时间窗口,永远不会触发启动次数上限限制,因此会无限重启。

调整方案

按照以下规则修改配置即可实现需求:

  • 把 StartLimitIntervalSec 调整为大于 RestartSec 的值,确保初始启动和后续的1次重启都落在同一个计数窗口内
  • 把 StartLimitBurst 设为2,对应「1次初始启动 + 1次故障自动重启」的总启动次数上限

完整可用配置

[Unit]
Description=Do job on boot
AllowIsolate=yes
StartLimitBurst=2
StartLimitIntervalSec=10

[Service]
User=root
Type=idle
ExecStart=/usr/bin/python3 /var/www/flask/initJobs.py
Restart=on-failure
RestartSec=3

[Install]
WantedBy=multi-user.target

生效与验证

  1. 配置修改完成后执行命令重载systemd配置:systemctl daemon-reload
  2. 重启服务测试效果,可通过日志查看启动状态:journalctl -u 你的服务名称.service -f
  3. 如果需要重置服务的失败计数,执行命令:systemctl reset-failed 你的服务名称.service

内容的提问来源于stack exchange,提问作者Zorro

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.02 10:15:03