Linux如何查看已启动的服务?

在Linux系统中,管理启动服务是系统运维的基础工作,无论是排查服务异常、优化启动速度,还是确保关键服务开机自启,都需要掌握查看启动服务的方法,Linux的服务管理机制因发行版和版本不同而有所差异,主流系统多采用systemd(如Ubuntu 16.04+、CentOS 7+),而较老版本可能使用SysVinit(如CentOS 6),本文将详细介绍不同机制下查看启动服务的方法,并提供实用示例。

linux如何查看启动的服务

基于systemd的系统查看启动服务(主流方式)

systemd是目前Linux发行版广泛采用的服务管理器,通过systemctl命令可以全面管理服务的生命周期,查看启动状态也更为便捷。

查看所有已安装的服务单元

使用systemctl list-unit-files命令可列出系统中所有服务单元文件及其启用状态,过滤出服务类型需添加--type=service参数:

systemctl list-unit-files --type=service

输出包含三列核心信息:UNIT(服务单元名,如nginx.service)、STATE(当前状态,如enabled/disabled/static)、DESCRIPTION(服务描述)。

  • enabled:服务开机自启;
  • disabled:服务开机不自启,需手动启动;
  • static:不可独立启动,通常作为其他服务的依赖。

查看当前活跃的服务

若需了解当前正在运行的服务(包括开机自启和手动启动的),可结合list-units--state=running参数:

systemctl list-units --type=service --state=running

输出会显示ACTIVE状态为active (running)的服务,并附带加载状态(loaded)和子进程信息(如main PID)。

查看特定服务的启动状态

针对单个服务,可通过is-enabled命令快速判断其是否开机自启:

systemctl is-enabled nginx.service

返回enabled即开机自启,disabled则不自启,若服务不存在则报错。

linux如何查看启动的服务

查看服务自启配置的来源

服务自启配置可能位于多个位置,可通过cat查看服务单元文件中的[Install]段落(通常定义WantedByRequiredBy):

cat /usr/lib/systemd/system/nginx.service | grep -A 5 "[Install]"

其中WantedBy=multi-user.target表示服务在多用户模式(默认启动级别)下自启。

基于SysVinit的系统查看启动服务(老版本兼容)

对于仍在使用SysVinit的系统(如CentOS 6),服务管理依赖chkconfig命令和运行级别目录,查看方式如下:

使用chkconfig查看服务开机状态

chkconfig --list可列出所有服务在不同运行级别(0-6)下的自启状态:

chkconfig --list

输出格式为服务名 级别1:状态 级别2:状态 ...,例如nginx 0:关闭 1:关闭 2:启用 3:启用 4:启用 5:启用 6:关闭,其中级别2-3为多用户模式,5为图形界面模式,启用表示该级别下开机自启。

查看服务脚本位置

SysVinit的服务脚本存放在/etc/init.d/目录,可通过ls列出所有服务:

ls /etc/init.d/

例如nginxhttpd等脚本均在此目录,可通过/etc/init.d/nginx status查看当前运行状态。

linux如何查看启动的服务

查看运行级别自启服务

各运行级别的自启服务脚本存放在/etc/rc[0-6].d/目录,以S开头(启动)或K开头(关闭)+数字(启动顺序)命名,

ls /etc/rc3.d/

输出中S50nginx表示在级别3下,第50位启动nginx服务。

服务查看方法对比总结

为方便快速查阅,以下表格对比了主流查看方法的适用场景和核心命令:

查看目标 systemd命令 SysVinit命令 说明
查看所有服务及启用状态 systemctl list-unit-files --type=service chkconfig --list systemd显示enabled/disabled,SysVinit显示各级别状态
查看当前运行服务 systemctl list-units --type=service --state=running service --status-all 前者更详细,包含进程ID和运行时长
查看单个服务自启状态 systemctl is-enabled 服务名 chkconfig 服务名 systemd直接返回状态,SysVinit需结合chkconfig --list的输出
查看服务配置来源 cat /usr/lib/systemd/system/服务名 ls /etc/rc*.d/ systemd通过[Install]段落定位,SysVinit通过运行级别目录脚本判断

相关问答FAQs

Q1: 为什么有些服务显示enabled但当前没有运行?
A: enabled仅表示服务配置为开机自启,但实际运行可能受依赖服务未启动、资源不足或服务自身错误影响,可通过systemctl status 服务名查看日志(如journalctl -u 服务名),排查启动失败原因,若服务依赖network.target但网络未就绪,可能导致服务启动失败但状态仍为enabled

Q2: 如何禁止服务开机自启且停止当前运行的服务?
A: 对于systemd系统,使用systemctl disable 服务名禁止开机自启,再通过systemctl stop 服务名停止当前运行;若需彻底移除服务(如删除安装包),则需结合包管理器(如apt remove/yum erase),对于SysVinit系统,执行chkconfig 服务名 off禁止自启,再用service 服务名 stop停止服务。

原创文章,发布者:酷番叔,转转请注明出处:https://cloud.kd.cn/ask/20866.html

(0)
酷番叔酷番叔
上一篇 2025年8月31日 12:47
下一篇 2025年8月31日 13:01

相关推荐

  • 如何以管理员模式打开PowerShell?

    理解“进入Linux”的三种场景“进入Linux”通常指以下操作:物理设备直接操作:在已安装Linux的电脑上登录系统远程连接:通过网络访问Linux服务器虚拟机/容器环境:在现有操作系统中启动Linux环境物理设备直接登录(适用个人电脑)步骤详解:启动准备确保设备已安装Linux系统(如Ubuntu、Cent……

    2025年6月27日
    11100
  • Linux系统如何制作启动盘?步骤与工具方法详解

    在Linux系统制作启动盘是安装操作系统、进行系统救援或运行Live环境的基础操作,其核心是将Linux系统镜像文件(ISO)写入可移动存储设备(如U盘),使设备具备引导功能,以下是详细的操作步骤、工具选择及注意事项,帮助用户顺利完成启动盘制作,准备工作在开始制作启动盘前,需确保以下准备工作就绪:Linux系统……

    2025年9月9日
    10000
  • Linux中sh文件执行的具体步骤和命令是什么?

    .sh文件是Linux系统中常用的Shell脚本文件,它包含一系列可执行的Linux命令,通过将这些命令写入脚本文件,可以实现自动化任务、批量处理操作或复杂逻辑的执行,要正确执行.sh文件,需要理解其执行原理、权限设置、执行方式及常见问题解决方法,以下是详细说明,.sh文件执行的基本原理.sh文件本质上是文本文……

    2025年8月24日
    10900
  • Kali Linux如何使用?新手从基础操作到实战技巧全解析指南

    Kali Linux是基于Debian的Linux发行版,专为渗透测试、安全研究和数字取证设计,预装了数百款安全工具,是网络安全从业者和爱好者的常用系统,其使用涉及安装、配置、工具操作及安全实践等多个方面,以下是详细指南,安装与配置Kali Linux支持虚拟机、物理机及Live USB等多种安装方式,虚拟机安……

    2025年8月29日
    13000
  • 如何用U盘启动CDlinux?操作步骤详解

    要将U盘设置为启动盘并运行CDLinux,需经历准备工作、制作启动U盘、BIOS设置及启动操作等步骤,以下是详细流程:前期准备工作硬件准备:容量≥8GB的U盘(建议16GB,避免空间不足),电脑一台(需支持U盘启动,台式机/笔记本均可),软件准备:CDLinux镜像文件:从官网或可信源下载最新版CDLinux……

    2025年10月3日
    9000

发表回复

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

联系我们

400-880-8834

在线咨询: QQ交谈

邮件:HI@E.KD.CN

关注微信