直接运行 systemctl --failed 即可一键列出所有失败服务单元,该命令等价于 systemctl list-units --state=failed --type=service 但更短、更可靠,能同时捕获 service、socket、target 等类型失败单元;输出中带 ● 和 failed 的行即为失败项,重点关注 UNIT 和 DESCRIPTION 列;若为空则无失败服务;查到后用 systemctl status 和 journalctl -u -b 排查具体原因。

直接运行 systemctl --failed 就能一键列出所有当前处于 failed 状态的服务单元。这是最简洁、最常用的方式,无需额外参数,系统会自动筛选并高亮显示失败项。
为什么这个命令最有效
它等价于 systemctl list-units --state=failed --type=service,但更短、更可靠——systemd 内置的 --failed 别名专为此设计,不依赖手动指定类型,还能同时捕获部分非 service 类型(如 socket、target)的失败单元,覆盖更全。
执行后怎么看关键信息
- 输出中带 ● 符号和 failed 字样的行,就是确认失败的服务
- 重点关注 UNIT 列(服务名,如
nginx.service)和 DESCRIPTION 列(简要说明) - 如果输出为空,说明没有已知失败服务;若只有少量条目,可逐个排查
查到失败服务后下一步怎么做
- 用
systemctl status 服务名看退出码和末尾日志(比如status=1/FAILURE或Result: timeout) - 用
journalctl -u 服务名 -b查本次启动的完整日志,找第一处 error 或 fail 提示 - 常见原因包括配置文件语法错误、端口被占、权限不足、依赖服务未启动、二进制路径不存在等











