systemctl status 服务名是查看systemd服务状态最权威方式,需重点检查active、loaded、main pid及末尾日志,并辅以端口监听、错误日志和接口探测验证实际可用性。

直接运行 systemctl status 服务名,这是查看指定 systemd 服务详细运行状态最权威、最完整的方式。
关键信息全在 status 输出里
执行后输出内容不是日志堆砌,而是分层诊断视图:
-
Active 行:看括号内状态,
active (running)才算健康;active (exited)对常驻服务是隐性故障;failed或inactive (dead)明确异常 -
Loaded 行:检查单元文件路径是否真实存在,若显示
not-found或路径为/dev/null(说明被 mask),服务根本无法启动 -
Main PID 行:确认是否有有效进程 ID,再配合
State:字段判断该 PID 是否仍在 running 状态 -
最后几行日志:重点关注
Failed to start、Permission denied、Connection refused、Timeout等关键词
别只信“active”,要验证实际可用性
即使显示 active (running),仍需补充验证,尤其对网络或应用服务:
- 查端口监听:
ss -tlnp | grep :端口号,防止进程存活但未绑定端口 - 查错误日志:
journalctl -u 服务名 -n 30 -p err,提取最近 30 行错误级日志 - 做接口探测(如适用):
curl -I http://localhost:端口/health,确认应用层响应正常
小技巧让排查更高效
加参数避免干扰,提升可读性和脚本兼容性:
- 加
--no-pager:防止输出卡在分页器,适合远程终端或脚本中使用 - 加
--no-legend:去掉表头和分隔线,方便文本解析 - 服务名建议写全后缀,如
nginx.service,避免与同名 .socket/.timer 单元混淆











