centos7如何查看开机启动的服务?,有哪些服务器

在CentOS 7中,查看开机启动的服务主要通过 systemctl list-unit-files 命令,结合 grep 过滤 enabled 状态,或使用 systemctl status 检查单个服务单元,这是最直接且权威的排查方式。

CentOS 7 全面转向 Systemd 体系后,传统的 chkconfig 命令虽然仍可用,但推荐的官方工具是 systemctl,开机启动项的管理并非一次性操作,日常运维中你需要频繁查看当前哪些服务被设置为自动启动,并评估它们是否必要,下面从最常用的命令入手,逐步拆解不同场景下的查看方法。

CentOS & Windows一些简单 命令 开机关机 切换目录等
加载中
CentOS & Windows一些简单 命令 开机关机 切换目录等

centos7查看开机启动项命令详解

systemctl list-unit-files 的基础用法

这是最核心的查看命令,它会列出所有已安装的单元文件(包括服务、挂载点、socket 等),以及它们当前的启用状态。

systemctl list-unit-files

输出包含三列:UNIT FILE(单元文件名)、STATE(状态,如 enabled、disabled、static、indirect)、PRESET(预设策略),重点关注 enabled 状态,表示该服务会在开机时自动启动,配合 grep 可以快速过滤:

systemctl list-unit-files | grep enabled

如果想单独查看服务类型单元(.service),可以加上类型过滤:

systemctl list-unit-files --type=service | grep enabled

systemctl status 与 is-enabled 的差异

  • systemctl status 服务名:显示服务的当前运行状态(是否正在运行)、最近日志以及是否启用开机启动,输出中有一行 Loaded: loaded (/usr/lib/systemd/system/xxx.service; enabled; vendor preset: disabled),其中的 enabled 即表示开机自启。
  • systemctl is-enabled 服务名:直接返回 enable、disable 或 static 等状态,适合脚本中判断。

对比来看,list-unit-files 适合宏观概览,status 适合针对单个服务深入排查,is-enabled 则用于自动化检查。

centos7如何查看开机启动的服务?,有哪些服务器

使用 –state 参数精准筛选

Systemd 支持直接用 --state 参数过滤状态,无需 grep 避免误匹配:

systemctl list-unit-files --state=enabled

这样只显示被标记为 enabled 的单元,输出干净且速度快,多数情况下,这个命令是查看所有开机启动服务的首选。

centos7开机启动服务管理常见场景与对比

区分静态启用与动态启用

在 list-unit-files 的输出中,你可能会看到 static 或 indirect 状态,static 表示该单元无法直接启用/禁用,它被其他 enabled 单元依赖时会自动激活;indirect 则表示通过其他机制间接启用,这些都不算严格意义上的开机启动项,排查时只需关注 enabled 与 disabled。

对比 chkconfig 与 systemctl 的查看差异

虽然 chkconfig –list 在 CentOS 7 中仍可运行,但它只能显示 System V 风格的 init 脚本,对于原生 Systemd 服务(如 sshd、NetworkManager)会显示“服务不支持 chkconfig”。chkconfig 已不适用于完整的开机启动项查看,行业共识推荐全面使用 systemctl 命令。

命令 适用场景 是否推荐
systemctl list-unit-files 查看所有 unit 的启用状态 是
systemctl list-unit-files –type=service 只看服务类单元 是
chkconfig –list 仅兼容旧脚本 否,仅限迁移期间
ls /etc/rc.d/rc.d/ 手动检查符号链接 仅作底层验证

实战场景:排查开机启动项过多时的优化流程

假设你购买的二手服务器或酷番云 CentOS 7 实例预装了大量服务,导致启动缓慢,具体操作路径如下:

centos7如何查看开机启动的服务?,有哪些服务器

  1. 使用 systemctl list-unit-files --state=enabled --type=service 导出所有自启服务。
  2. 逐项评估必要性:如 postfix、avahi-daemon、abrt- 等通常可禁用。
  3. 执行 systemctl disable 服务名 关闭,再用 systemctl status 服务名 确认当前未运行。
  4. 重启后观察启动时间是否缩短,据统计,禁用无用的开机启动项能减少 20% 以上的启动耗时。

批量查看与导出开机启动列表

生成可读性较高的报告

将结果保存到文件,方便后续分析或审计:

systemctl list-unit-files --state=enabled > /root/enabled_services.txt
cat /root/enabled_services.txt

如果只需服务名,可以用 awk 提取第一列:

systemctl list-unit-files --state=enabled --type=service | awk '{print $1}'

结合 sort 与 diff 跟踪变更

定期导出列表,使用 diff 比较两次结果,可快速发现新增或删除的开机启动项,这在安全审计中尤其重要,因为恶意软件常通过添加自启服务实现持久化。

# 第一次快照
systemctl list-unit-files --state=enabled > /tmp/services_before.txt
# 安装或配置后第二次快照
systemctl list-unit-files --state=enabled > /tmp/services_after.txt
diff /tmp/services_before.txt /tmp/services_after.txt

通过 systemd-analyze 查看启动耗时

虽然不直接列出服务,但 systemd-analyze blame 能按时间倒序显示每个服务的开机耗时,间接帮助你定位哪个自启服务拖慢了系统,配合 systemd-analyze critical-chain 可以查看关键启动链。

centos7服务器查看开机启动项的注意事项

不要禁用系统关键依赖

像 dbus、systemd-logind、sshd(如果你需要远程连接)等核心服务一旦禁用,可能导致系统功能异常,在禁用前,使用

centos7如何查看开机启动的服务?,有哪些服务器

systemctl status 服务名 查看其文档(Description)和依赖关系,确认非必要再操作。

区分 enabled 与 static 的实际行为

static 单元虽然不在 enabled 列表中出现,但若被某个 enabled 单元依赖,它依然会在开机时启动,仅靠 enabled 列表无法 100% 反映实际启动序列,还需结合 systemctl list-dependencies 查看依赖树。

预设策略的影响

部分服务在安装时被预设为 enabled,但你可通过 systemctl preset 恢复默认策略,或者手动 systemctl disable 覆盖,CentOS 7 的预设文件通常放在 /usr/lib/systemd/system-preset/ 下,普通用户无需修改。

centos7查看开机启动服务常见问题问答

Q: centos7查看开机启动服务命令是什么?

主要命令是 `systemctl list-unit-files –state=enabled`,如果想只看服务类型,加上 `–type=service`,如果只针对单个服务,可用 `systemctl is-enabled 服务名` 或 `systemctl status 服务名` 查看 Loaded 行中的状态。

Q: 如何只显示开机启动的服务而不显示其他状态?

使用 `systemctl list-unit-files –state=enabled –type=service`,输出仅包含 enabled 的服务单元,如果需要更简洁的服务名列表,可以结合 awk 处理:`systemctl list-unit-files –state=enabled –type=service | awk ‘NR>1{print $1}’`。

Q: 禁用开机启动服务后如何确认已生效?

运行 `systemctl is-enabled 服务名` 会返回 disabled,`systemctl list-unit-files | grep 服务名` 显示 disabled,注意,禁用不等于停止运行,当前服务还在运行,需要手动 `systemctl stop 服务名` 立即停止,或重启后生效,这是 systemd 的常见行为,也是它与 SysV 最大区别之一。

掌握这些命令和判断逻辑,你就能高效管理 CentOS 7 的开机启动项,既提升系统安全又优化启动速度,是服务器运维的基础技能。

首发原创文章,作者:王坚‌,如若转载,请注明出处:https://test.idctop.com/article/518284.html

赞 (0)
奥士康为哪些公司生产AI服务器?,主要客户有哪些?
上一篇 2026年7月25日 11:07
服务器与CDN在网站加速中的区别是什么?如何选择最佳方案?
下一篇 2026年7月25日 11:13

相关推荐

  • go部署用的服务器怎么选?go语言服务器部署教程

    Go语言部署首选轻量级Linux服务器,推荐配置2核4G内存起步,配合Nginx反向代理与Systemd守护进程,可实现高并发、低延迟且运维极简的生产环境,在2026年的技术语境下,Go语言凭借其编译型语言的特性和原生并发优势,已成为后端服务的主流选择,很多开发者在将代码从本地开发环境迁移到生产环境时,往往陷入……

    2026年6月23日
    1600
  • 个人web服务器怎么搭建?如何搭建个人web服务器

    搭建个人Web服务器是掌握数据主权、实现低成本私有云存储及家庭自动化控制的终极方案,核心在于选择低功耗硬件并配置反向代理以保障安全,为什么你需要一台个人Web服务器在云计算盛行的今天,将数据托管给第三方平台似乎成了默认选项,隐私泄露、订阅费用累积以及服务中断的风险,让越来越多技术爱好者转向自建服务,个人Web服……

    2026年6月20日
    2700
  • 服务器有多大规模,大型数据中心服务器容量是多少?

    现代数字经济的基石在于庞大的算力基础设施,其规模早已突破了单机或简单集群的范畴,演变为覆盖全球的分布式巨系统,核心结论是:服务器规模已经从物理数量的堆叠转向算力密度的指数级跃升,全球主流数据中心的服务器保有量已达数百万台级别,且正朝着单体超大规模、异构计算和绿色低碳化方向极速演进, 这种规模不仅支撑着日常的互联……

    2026年2月23日
    13600
  • 非华为域名怎么解析华为服务器?非华为域名解析怎么操作

    非华为域名解析到华为服务器,核心操作是在域名注册商处将DNS服务器修改为华为云指定地址,或直接在原域名管理面板添加A记录指向华为云服务器公网IP,两种方式均可实现,前者更利于发挥华为云网络优势,后者更快捷,非华为域名解析到华为服务器的两种主流方式需要根据你对域名管理习惯和功能需求选择合适的方法,下面两种方式各有……

    2026年7月31日
    800
  • 服务器环境搭建怎么做,服务器构建环境详细教程

    构建高性能、安全且可扩展的服务器环境是企业数字化转型的基石,其核心结论在于:服务器构建不仅仅是安装操作系统和软件,而是一项系统工程,需要遵循“稳定性优先、安全为基、性能调优、自动化运维”的原则, 一个优秀的服务器构建环境必须能够在硬件选型、操作系统内核优化、服务架构部署以及安全防护体系之间取得最佳平衡,从而确保……

    2026年2月16日
    27400
  • 个人制作网站难吗?如何低成本搭建个人网站

    个人制作网站的最佳路径是结合低代码平台与基础HTML/CSS知识,在控制成本的同时实现完全自主权,而非盲目追求高难度的全栈开发或购买昂贵的模板服务,在2026年的数字生态中,独立建站已不再是技术极客的专属领地,而是个人品牌、自由职业者以及小微创业者构建数字资产的核心手段,过去那种“要么找外包花几万块,要么自己学……

    2026年6月13日
    3400
  • 个人可以自己注册域名么?域名注册需要哪些材料和流程

    个人完全可以自己注册域名,流程简单且成本极低,通常只需几十元人民币即可拥有独立域名控制权,在互联网时代,拥有一个专属域名不仅是建立个人品牌、博客或小型网站的基石,更是掌握网络身份主动权的开始,很多人误以为注册域名需要复杂的编程知识或高昂的企业级预算,这其实是一个巨大的认知误区,随着互联网基础设施的普及,个人注册……

    2026年6月12日
    3000
  • 服务器小号密码是什么?服务器小号密码设置与找回方法

    安全与效率的双重博弈在服务器运维与多账号管理场景中,服务器小号密码的设置与管理,直接关系到系统稳定性、数据安全性和团队协作效率,核心结论:合理设计的服务器小号密码体系,能在保障安全的前提下,显著降低运维成本与误操作风险,以下从风险、原则、实践方案三方面展开说明,为何需要“小号密码”?——现实痛点分析权限过度集中……

    2026年4月14日
    6100
  • Python获取当前时间怎么写?python获取当前时间戳

    在Python中获取当前时间最推荐的方式是使用内置的datetime模块,通过datetime.now()即可直接获取包含日期和时间的对象,既准确又无需额外安装依赖,很多开发者在刚接触Python时,面对时间处理往往感到头大,毕竟时间涉及时区、格式转换、夏令时等复杂逻辑,但好消息是,Python的标准库已经把这……

    2026年7月5日
    7710
  • 服务器设置优先级具体怎么设置,设置步骤有哪些?

    服务器设置优先级并非玄学,而是遵循一套可复用的底层逻辑:业务连续性 > 资源均衡 > 性能调优,无论是搭建网站还是运行应用,核心原则是“先保通,再保快,最后保稳定”,服务器配置优先级顺序:从硬件到软件的关键决策链在服务器部署初期,配置优先级直接决定了后期运维的复杂度和业务承载上限,多数情况下,决策顺……

    2026年8月5日
    900

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注