Linux基础 -- systemd 用户服务残留条目清除

systemd 用户服务残留条目清除

问题现象

执行 systemctl --user list-units --type=service 查看用户级服务时,出现服务文件已删除,但列表仍残留失效条目,状态显示为:

复制代码
● openclaw-gateway-persion.service    not-found failed failed  openclaw-gateway-persion.service
● openclaw-gateway-person.service    not-found failed failed  openclaw-gateway-person.service

执行 systemctl --user cat 服务名 提示 No files found,确认服务物理文件已不存在;执行 daemon-reload 重载配置后,残留条目仍未消失。

问题根因

服务物理文件已删除,但 systemd 会保留服务的历史运行失败状态记录,单纯重载配置不会清除该缓存记录,导致失效条目持续显示在服务列表中。

排查与解决步骤

1. 确认服务状态(验证问题)

bash 复制代码
# 查看用户级服务列表,确认残留失效条目
systemctl --user list-units --type=service

# 验证服务文件是否真的不存在
systemctl --user cat openclaw-gateway-persion.service
systemctl --user cat openclaw-gateway-person.service

结果:提示无对应文件,确认服务已物理删除。

2. 停止+禁用残留服务(前置操作)

bash 复制代码
# 停止失效服务(忽略报错,避免进程残留)
systemctl --user stop openclaw-gateway-persion.service 2>/dev/null
systemctl --user stop openclaw-gateway-person.service 2>/dev/null

# 禁用失效服务(取消开机自启)
systemctl --user disable openclaw-gateway-persion.service 2>/dev/null
systemctl --user disable openclaw-gateway-person.service 2>/dev/null

3. 重载 systemd 用户配置

bash 复制代码
# 刷新 systemd 配置,识别服务文件变更
systemctl --user daemon-reload

4. 清除失败状态记录(核心解决步骤)

bash 复制代码
# 重置 systemd 记录的所有用户服务失败状态(关键命令)
systemctl --user reset-failed

5. 验证清除结果

bash 复制代码
# 重新查看服务列表
systemctl --user list-units --type=service

结果:残留失效条目完全消失,问题解决。

最终一键清理脚本

后续遇到同类 systemd 残留服务问题,直接执行以下脚本即可一键清除:

bash 复制代码
# 定义需要清理的残留服务名
SERVICES=(
  "openclaw-gateway-persion.service"
  "openclaw-gateway-person.service"
)

# 批量停止、禁用、清理
for srv in "${SERVICES[@]}"; do
  systemctl --user stop "$srv" 2>/dev/null
  systemctl --user disable "$srv" 2>/dev/null
done

# 重载配置+清除失败记录
systemctl --user daemon-reload
systemctl --user reset-failed

# 验证结果
echo "=== 清理后服务列表 ==="
systemctl --user list-units --type=service

核心知识点总结

  1. daemon-reload:仅刷新 systemd 配置,不清除失败状态记录
  2. reset-failed:专门清除 systemd 记录的服务失败/失效状态,是解决残留条目的核心命令;
  3. 用户级服务操作必须加 --user 参数,避免误操作系统级服务。
相关推荐
吴声子夜歌8 分钟前
Shell脚本——流程控制:for循环
linux·运维·shell
事圆则缓25 分钟前
Ubuntu 安装与配置 Samba 服务器
linux·服务器·ubuntu
zhangzeyuaaa32 分钟前
Python asyncio 事件循环演进:从手动管理到现代化实践
java·服务器·python
GeW32 分钟前
每天2小时,21天闭环计划-RHCE通关时间表全公开
linux
abby37 分钟前
美国多IP站群服务器Nginx配置与网络优化实操
服务器
盛世宏博智慧档案1 小时前
高速 ETC 门架外场机房温湿度远程监测解决方案
服务器·数据库·php·高度·高速·温湿度
weixin_450813532 小时前
pdf文档转为markdown文档
linux·pdf
我的小卷呀2 小时前
Linux ip 命令底层逻辑与实战指南
linux·运维·c语言·网络协议·tcp/ip·网络安全
CingSyuan2 小时前
4U GPU服务器整机无法上电故障排查实录:通过交叉替换、逐项回装与跨槽位测试,定位RTX 4080显卡故障及硬盘槽位异常并完成临时恢复
运维·服务器
handler012 小时前
【Linux】ELF、链接与动态库,程序装载全解析
linux·运维·服务器·chrome·c·elf·文件