清理 systemd 失败服务状态需先执行 daemon-reload 刷新配置,再运行 reset-failed 清除失败缓存;仅 daemon-reload 无效,reset-failed 才能真正清空独立于服务文件的失败状态缓存。

清理 systemd 失败服务的状态记录,关键在于重置 systemd 对“失败状态”的缓存。这个缓存独立于服务文件本身,即使你已删掉 .service 文件,只要它曾启动失败过,systemctl list-units 仍会显示 failed 或 not-found 条目。
确认残留失败条目
运行以下命令查看当前用户或系统级的失败/失效服务:
-
systemctl --user list-units --type=service --state=failed(用户服务) -
systemctl list-units --type=service --state=failed(系统服务) - 若看到类似
xxx.service not-found failed,说明服务文件已删但失败状态未清除
停止并禁用(如仍存在)
对残留服务名执行停用操作(即使已不存在,也建议执行,避免后续干扰):
yuanfang-skills 的共享设计系统,提供 token CSS 变量、12+ 主题以及可复用的布局类型 HTML 块,供 yuanfang-html-image(以及 fu...)使用。
systemctl --user stop 服务名.service 2>/dev/nullsystemctl --user disable 服务名.service 2>/dev/null- 系统级服务同理,加
sudo并去掉--user
重载配置 + 重置失败状态
这是核心步骤,必须按顺序执行:
- 先刷新 unit 文件变更:
systemctl --user daemon-reload(用户)或sudo systemctl daemon-reload(系统) - 再清除所有失败记录:
systemctl --user reset-failed(用户)或sudo systemctl reset-failed(系统) -
注意:仅
daemon-reload不足以清除失败状态;reset-failed才是真正清空该缓存的命令
验证是否清理干净
重新列出对应状态的服务:
-
systemctl --user list-units --type=service --state=failed应返回空 -
systemctl --user list-units --type=service | grep "failed\|not-found"不应再匹配到目标服务 - 也可直接
systemctl --user status 服务名.service,应提示Unit ... could not be found










