我编写了一个 systemd 服务单元,允许创建多个实例。包装器脚本从通用配置文件中读取实例的配置详细信息,构建要执行的实际命令。到目前为止,这有效(start,
stop
,status
)。
但是当我在配置文件中指定一个无法找到的实例(称为“假实例”)时,我的ExecStart
命令失败(正如预期的那样)。除了包装器脚本(当然会终止)之外,没有其他命令启动。
不幸的是,systemd 随后发疯了:它反复尝试重新启动“假实例”。每个status
命令都报告错误,而且我也无法重新启动stop
该假实例。因此,即使没有运行任何程序,systemd 也对该“假实例”有所了解。我该如何删除它?
是否有一个特殊的退出代码可以让 systemd 立即忘记该实例?(我可以RestartPreventExitStatus=
同时尝试)
答案1
在设备上尝试“systemctl reset-failed”。