v221 ⑤ install-agent: OpenRC respawn_period=0 rejected by supervise-daemon

The item-23 template wrote respawn_period=0 assuming it meant 'no
window' like respawn_max=0; supervise-daemon validates the value at
service start and refuses: Invalid respawn-period value '0'
(Alpine real-machine report). Template now writes 1800, the value
the machine's other supervise-daemon services use; with
respawn_max=0 (unlimited) the period is only the counting window.

Why existing Alpine nodes (Leg-US) never hit it: the respawn lines
exist only since 27a5097 (2026-10-22, item 23) — before that the
template used command_background with no respawn parameters at all,
and panel one-click agent updates swap only the binary, never
regenerate /etc/init.d/x-ui-agent. Only fresh installs (or script
reruns) on OpenRC with the post-item-23 template were exposed.
This commit is contained in:
Muse
2026-10-23 14:27:23 +00:00
parent 151b07b73f
commit ba57fb3c00
+5 -1
View File
@@ -289,10 +289,14 @@ command_args="agent"
# supervise-daemon 守护(第 23 条):进程崩溃后按 respawn 参数自动拉起, # supervise-daemon 守护(第 23 条):进程崩溃后按 respawn 参数自动拉起,
# 对齐 systemd 支的 Restart=on-failure + RestartSec=5;旧版 command_background # 对齐 systemd 支的 Restart=on-failure + RestartSec=5;旧版 command_background
# 只负责后台化、崩溃不重启。respawn_max=0 = 不限次(同 systemd 的持续重试)。 # 只负责后台化、崩溃不重启。respawn_max=0 = 不限次(同 systemd 的持续重试)。
# respawn_period 必须为正数:supervise-daemon 启动时校验该值,0 直接报
# "Invalid respawn-period value '0'" 拒绝拉起(V2.2.1 ⑤,Alpine 真机实证);
# 取 1800(真机上其他 supervise-daemon 服务同值)。max=0 不限次时 period
# 仅是计数窗口,不影响持续重试语义。
supervisor="supervise-daemon" supervisor="supervise-daemon"
respawn_delay=5 respawn_delay=5
respawn_max=0 respawn_max=0
respawn_period=0 respawn_period=1800
pidfile="/run/x-ui-agent.pid" pidfile="/run/x-ui-agent.pid"
output_log="/var/log/x-ui-agent.log" output_log="/var/log/x-ui-agent.log"
error_log="/var/log/x-ui-agent.log" error_log="/var/log/x-ui-agent.log"