首页/系统/Linux 运维命令速查/systemctl is-active/is-enabled 脚本判活
本包目录(613 条)
文件与目录76 条文本处理77 条网络命令82 条进程与作业69 条磁盘与文件系统51 条用户与权限44 条日志与排查40 条
systemd 与服务42 条
包管理34 条性能与监控48 条定时任务与计划50 条

systemctl is-active/is-enabled 脚本判活

脚本里判断服务状态用 is-active(输出 active/failed 并给退出码)、is-enabled、is-failed;不要解析 status 文本。

Linux 运维命令速查系统更新于 2026-10-12
用途以退出码判断单元状态(脚本友好)
语法systemctl is-active|is-enabled|is-failed 单元
所属systemd

常用示例

常用示例
systemctl is-active nginx && echo up || echo down
if systemctl is-active --quiet nginx; then echo ok; fi
systemctl is-enabled sshd

多单元检查

多单元检查
for s in nginx mysql redis; do printf '%s: %s\n' "$s" "$(systemctl is-active $s)"; done
is-active 对不存在的单元返回 inactive 且退出码非 0;--quiet 只给退出码适合 if 判断。

易错点

  • active 与健康不等价:进程活着但端口没监听、返回 500 都是 active,要配合真实探针
  • socket 激活型服务平时就是 inactive,判活应看对应 socket 单元

数据来源与参考

  • man 1 systemctl(is-active 等)

相关工具

​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌