systemd:如何摆脱“假实例”?

systemd:如何摆脱“假实例”?

我编写了一个 systemd 服务单元,允许创建多个实例。包装器脚本从通用配置文件中读取实例的配置详细信息,构建要执行的实际命令。到目前为止,这有效(start, stopstatus)。

但是当我在配置文件中指定一个无法找到的实例(称为“假实例”)时,我的ExecStart命令失败(正如预期的那样)。除了包装器脚本(当然会终止)之外,没有其他命令启动。

不幸的是,systemd 随后发疯了:它反复尝试重新启动“假实例”。每个status命令都报告错误,而且我也无法重新启动stop该假实例。因此,即使没有运行任何程序,systemd 也对该“假实例”有所了解。我该如何删除它?

是否有一个特殊的退出代码可以让 systemd 立即忘记该实例?(我可以RestartPreventExitStatus=同时尝试)

答案1

在设备上尝试“systemctl reset-failed”。

相关内容