最新下载
热门教程
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
Linux 中如何查看所有已启用的系统服务列表
时间:2026-08-10 16:30:50 编辑:袖梨 来源:一聚教程网
在Linux中查看已启用服务需区分“启用”(开机自启)与“运行”状态,推荐用systemctl list-unit-files --type=service --state=enabled;static/indirect服务虽不显enabled但属正常启用机制;旧SysVinit系统用chkconfig或update-rc.d;is-enabled判断自启,is-active仅反映当前运行状态。
在 Linux 中查看所有已启用的系统服务,核心是区分“已启用”(开机自启)和“正在运行”——两者不等价。启用表示系统启动时会尝试拉起该服务,无论它当前是否活跃。
用 systemctl list-unit-files 查启用状态(推荐)
这是最准确、最通用的方法,适用于所有基于 systemd 的现代发行版(如 CentOS 7+/8+/9、Ubuntu 16.04+、Debian 8+、Rocky/AlmaLinux 等):
-
列出全部服务及其启用状态:
systemctl list-unit-files --type=service,输出含 enabled/disabled/static/indirect 等标记 -
只筛选已启用的服务:
systemctl list-unit-files --type=service --state=enabled -
同时显示启用状态 + 当前运行状态:加
--all可看到更全信息,但默认输出已足够判断是否启用
注意 static 和 indirect 类型服务
某些服务标为 static(如 dbus-broker.socket)或 indirect,它们不能被单独启用/禁用,而是由其他单元(如 socket 或 target)自动触发。这类服务虽不显示为 enabled,但属于系统正常启用机制的一部分,不应误判为“未启用”。
旧系统(SysVinit)用 chkconfig 或 update-rc.d
仅适用于极少数仍用 SysVinit 的老环境(如 CentOS 6 或定制嵌入式系统):
- RHEL/CentOS 6:运行
chkconfig --list | grep 3:on(运行级3下启用)或chkconfig --list全局查看 - Debian/Ubuntu(SysV 风格):用
sudo update-rc.d -f servicename defaults启用后,sudo update-rc.d -l可查各运行级状态 - 注意:
/etc/init.d/下有脚本 ≠ 已启用;必须配合 chkconfig 或 update-rc.d 确认
别混淆 is-enabled 和 is-active
单个服务快速验证用这两个命令:
-
systemctl is-enabled nginx→ 返回 enabled 表示开机自启已设好 -
systemctl is-active nginx→ 返回 active 表示此刻正在运行(可能刚手动 start 过,但没设启用) - 常见误区:看到
is-active active就以为已启用 —— 实际上它可能只是临时运行,重启后不会自动起来
相关文章
- TPLink TLWR847N 无线路由器设置二级路由方法 08-30
- 舞力全开派对竞技场 舞力全开派对竞技场高胜率对战技巧与实战攻略 08-30
- Harness是什么-工程外壳和流程控制 08-30
- Atlas 血缘采集延迟从 30 秒怎么部署-环境配置 08-30
- TPLink TLWR845N 无线路由器设置为无线交换机方法 08-30
- 持续集成之Jenkins怎么安装-安装步骤和配置要求 08-30