systemctl status 服务名是最直接查看服务状态的方式,显示激活状态、启动时间、pid、资源占用及最近日志;需结合is-active、journalctl、show等命令交叉验证,并注意masked配置屏蔽问题。

用 systemctl status 服务名 查看指定服务的详细运行状态,这是最直接有效的方式。
查看服务核心状态信息
执行命令后会显示:
- 服务当前激活状态(active (running)、inactive (dead)、failed 等)
- 启动时间与运行时长
- 主进程 PID 和内存/CPU 占用情况
- 最近几条日志(含错误提示),便于快速定位问题
注意状态背后的含义
不要只看“active”就认为服务健康:
- active (running):主进程正常运行中
- active (exited):一次性服务(如 rc-local),执行完即退出,也属“活跃”
- activating (start-post):可能卡在启动后脚本,需结合日志判断是否真就绪
- 即使显示 active,也可能子进程崩溃、端口未监听、配置加载失败——得看日志和实际行为
配合其他命令交叉验证
单靠 status 不够全面,建议组合使用:
- systemctl is-active 服务名:返回纯文本(active/inactive/failed),适合脚本判断
- journalctl -u 服务名 -n 20 -f:实时查看该服务最新 20 行日志,-f 可持续跟踪
- systemctl show 服务名:输出服务完整配置参数,比如 ExecStart 路径、Restart 设置等
检查配置来源是否被屏蔽
如果 status 显示 Loaded: loaded (/dev/null; bad) 或类似提示,说明该服务已被 mask(屏蔽):
- 执行 systemctl unmask 服务名 可解除屏蔽
- mask 是比 disable 更彻底的禁用方式,start 命令会直接报 “Unit is masked”
- 可通过 ls /etc/systemd/system/服务名.service 或 systemctl cat 服务名 查看真实配置路径











