linux查看系统启动了什么服务器?linux查看开机启动服务命令

在Linux上查看系统启动了哪些服务,本质上就是检查systemd或SysVinit管理的单元状态,最直接的方法是运行systemctl list-units --type=service --state=running。这个命令能一秒列出所有正在运行的服务单元,配合ss或netstat还能看清对应的端口占用,下面我把从入门到进阶的排查思路完整拆开讲,包括服务列表、监听端口、开机自启项以及性能影响,保证你看完就能上手实操。

快速查看正在运行的服务:systemctl 是首选

大多数现代Linux发行版(CentOS 7+、Ubuntu 16.04+、Debian 8+)都使用systemd作为初始化系统,我们要查“启动了什么服务器”,指的就是那些常驻后台、对外提供功能的守护进程,比如Nginx、MySQL、SSH。

最常用三个命令

  • systemctl list-units --type=service --state=running:列出所有正在运行的服务单元,输出包含服务名、加载状态、活跃状态、描述信息。
  • systemctl list-units --type=service --all:列出所有服务,包括未运行的、退出的、失败的,适合排查“为什么某服务没起来”。
  • systemctl status(不带参数):分页展示系统整体状态,末尾会自动汇总当前正在运行的服务数量。

实际使用中,第一条命令输出可能很长,建议配合grep过滤,比如只看包含nginx的:systemctl list-units --type=service --state=running | grep nginx。

深入理解输出字段

执行systemctl list-units --type=service后,你会看到四列信息:

  • UNIT:服务单元名称,例如ssh.service,这是管理服务的唯一标识。
  • LOAD:是否已正确加载到内存,通常都是“loaded”。
  • ACTIVE:活跃状态,正运行是“active”,退出是“inactive”,失败是“failed”。
  • SUB:更细粒度的状态,running”“dead”“exited”。

业内专家普遍认为,判断一个服务是否真正“启动”,要看ACTIVE列的“active”和SUB列的“running”同时满足,有些人只看ACTIVE是active就放心了,其实像NetworkManager.service这类服务ACTIVE为active但SUB是“running”才正常,而某些oneshot服务active但SUB是“exited”,这是预期行为,不用紧张。

排查特定服务的启动状态

如果怀疑某个服务没起来,直接systemctl status 服务名,比如systemctl status nginx,它会显示该服务是否加载、PID是多少、内存占用、最近日志,这个命令同时回答了“linux怎么查看开机启动的服务”和“某个服务现在跑没跑”两个问题。

linux查看服务器运行状态命令:从进程到端口的完整链路

linux查看系统启动了什么服务器?linux查看开机启动服务命令

光看服务列表不够,你还需要确认服务是否真的在监听网络端口,这就是许多运维在排查“linux查看服务器运行状态命令”时的核心诉求。

用 ss 命令查监听端口

现代系统推荐ss,性能比netstat好,执行:

ss -tlnp

  • -t 显示TCP端口
  • -l 仅显示监听中的socket
  • -n 不反解域名,直接显示IP和端口
  • -p 显示占用该端口的进程PID和名称

输出里你会看到0.0.0:80或:3306这类监听地址,如果Nginx装了但没监听80端口,说明配置可能有问题或者进程没起来。

用 ps 命令核对进程

ps -ef | grep 服务名能快速看到进程是否存在,但要注意,grep本身也会匹配到一条记录,所以很多人习惯用ps -ef | grep nginx | grep -v grep。

不过我更推荐直接systemctl status,因为系统会明确告诉你主进程PID和子进程情况,不用猜。

端口和服务对照表:快速定位谁占用了端口

命令组合 作用 适用场景
ss -tlnp 查看所有TCP监听端口和对应进程 想知道哪些服务对外开放了端口
ss -ulnp 查看UDP监听端口 排查DNS、NTP等服务
lsof -i:8080 查看指定端口被哪个进程占用 端口冲突时精准定位
systemctl status 服务名 查看服务日志和运行详情 服务异常退出时排查原因

比如你发现8080端口被占用,但不知道是谁占的,用lsof -i:8080直接看到PID和进程名,再ps -fp PID确认这是不是你要的服务,这套组合拳在“linux查看系统启动了什么服务”的日常运维中非常实用。

查看开机自启服务:搞清下次重启后谁会启动

“启动了什么服务器”既指当前正在运行的,也指开机后自动运行的,很多人混淆这两个概念,其实systemd把它们分得很清楚。

查看自启状态

systemctl list-unit-files --type=service

这个命令列出所有已安装服务单元文件的启用状态,输出有“enabled”“disabled”和“static”三种:

  • enabled:开机自动启动。
  • disabled:开机不启动,需要手动启动。
  • static:无法直接启用,一般被其他服务依赖,由依赖方触发启动。

配合grep enabled就能筛出所有开机自启的服务:systemctl list-unit-files --type=service | grep enabled

linux查看系统启动了什么服务器?linux查看开机启动服务命令

。

单独查某个服务的自启状态

systemctl is-enabled nginx,输出enabled或disabled,再配合systemctl is-active nginx判断当前有没有运行,两个命令一起用就能得出完整结论。

修改自启状态

  • 开启自启:systemctl enable 服务名
  • 关闭自启:systemctl disable 服务名
  • 仅临时启动,不改自启:systemctl start 服务名

这里有个常见的坑:systemctl start只是当前启动,重启后如果状态是disabled,服务照样不会出现,反过来,systemctl enable不会立刻启动服务,只是创建了符号链接,要真正做到“现在跑且下次开机也跑”,需要同时执行start和enable。

没有systemd的老系统怎么办:SysVinit和service命令

如果你还在维护CentOS 6或Ubuntu 14.04这类老系统,就得换一套查看方式。

查看运行中的服务

service --status-all是所有SysVinit服务管理脚本的通用开关,输出里每个服务前会有一个标记:

  • [ + ]:服务正在运行
  • [ - ]:服务已停止
  • [ ? ]:脚本无法返回状态,需要自己判断

这个命令不如systemd直观,但能快速看到所有注册服务脚本的启停状态。

查看开机自启

SysVinit用chkconfig管理自启:

chkconfig --list

会列出每个服务在各运行级别下的开启状态,例如nginx 0:off 1:off 2:on 3:on 4:on 5:on 6:off,表示在运行级别2、3、4、5时自动启动。

对比新老系统查看服务的方法

操作 systemd系统(CentOS7+/Ubuntu16.04+) SysVinit系统(CentOS6及更早)
查看运行中的服务 systemctl list-units --type=service --state=running service --status-all
查看开机自启 systemctl list-unit-files --type=service chkconfig --list
查看单个服务状态 systemctl status 服务名 service 服务名 status
设置开机自启 systemctl enable 服务名 chkconfig 服务名 on

如果你不确定当前用的是哪种,执行ps -p 1,输出是systemd就按新体系操作,输出是init就按老体系操作。

深入排查:服务启动失败或占用资源过高怎么办

查看服务不只是“看列表”,更重要的是判断服务状态是否健康,下面这些场景你大概率会遇到。

服务一直重启(crashed loop)

linux查看系统启动了什么服务器?linux查看开机启动服务命令

服务状态显示“activating (auto-restart)”,说明进程反复崩溃,先journalctl -u 服务名 -n 100看最近的日志,systemd统一了日志管理,不用去翻/var/log/messages,直接按服务名过滤即可。

服务启动但没监听端口

有些服务进程活着,但没对外提供服务,比如Nginx检查配置出错时,主进程可能起不来,但worker进程还在,执行ss -tlnp确认端口是否在监听,再用nginx -t测试配置语法。

高资源占用服务定位

如果服务器CPU或内存告警,需要找出最占资源的服务,用top按P键按CPU排序,按M键按内存排序,看到PID后,用systemctl status PID直接反查它属于哪个服务单元,这个技巧在回答“linux查看服务器运行状态命令”时经常用得上,比一个个服务去猜效率高得多。

常见问题:服务到底存不存在

有时候你运行systemctl status some-service,系统提示“Unit some-service.service could not be found”,这不代表服务没装,可能有三种原因:

  • 服务名称不对,比如mysqld和mysql可能是两个不同的单元。
  • 服务由第三方软件包提供,但没安装对应的systemd unit文件。
  • 服务被隐藏在别的目录,比如用户级服务,用systemctl list-unit-files --type=service --all看完整列表,或者用systemctl list-units --type=service --all | grep 关键词模糊搜索。

Q&A:关于查看Linux启动服务的三个常见疑问

systemctl list-units和systemctl list-unit-files有什么区别?

list-units展示的是当前系统内存中加载的单元状态,涉及运行中、已退出、失败的服务,反映的是“现在时”。list-unit-files展示的是磁盘上unit文件的配置状态,即enabled或disabled,反映的是“下一次开机后”,两者是互补关系,前者管现状,后者管自启策略。

为什么ss -tlnp需要root权限才能看到进程名?

普通用户执行ss -tlnp时,如果没有sudo,进程名和PID列显示不出来,只能看到端口,这是因为/proc目录下部分进程信息对普通用户不可见,解决方法是sudo ss -tlnp,否则只能确认端口占用,无法确认是哪个服务进程在监听。

Linux下有没有类似Windows任务管理器一样的服务查看界面?

严格意义上的图形化服务管理器不多,但htop配合systemctl基本能满足需求。htop能直观看到所有线程的CPU和内存占用,按F4搜索进程名,再对照systemctl status确认服务归属,对于纯命令行环境,这条组合是目前最高效的服务状态检查方式。

图片来源于AI模型,如侵权请联系管理员。作者:酷小编,如若转载,请注明出处:https://www.kufanyun.com/ask/824779.html

赞 (0)
上一篇 2026年9月16日 11:40
下一篇 2026年9月16日 11:46

相关推荐

  • 服务器三成二是指什么,服务器三成二配置详解

    服务器三成二是指一种将服务器资源按三成与二成比例分配的高可用部署方案,主要用于保障核心业务稳定运行,常见于冗余配置和负载均衡场景,服务器三成二是什么意思要理解这个术语,先得拆开看,三成和二成代表资源分配的比例,不是固定数字,而是一种配置思路:三成资源用于核心处理,二成资源用于冗余备份或辅助任务,这种模式在服务器……

    2026年8月28日
    01113
  • WDCP管理后台怎么设置域名访问?

      wdcp后台默认是用到8080端口的(可自行修改),但是这个有一个弊端那就是什么?搜索引擎太强大了有些连这个也给收录进来了,那如何限制这个后台的访问呢? wdcp从2…

    2020年7月8日
    02.5K0
  • LOL的服务器为什么越来越卡,英雄联盟延迟高怎么解决

    英雄联盟的服务器“越来越老”,本质不是硬件老化,而是拳头游戏在商业层面对老游戏持续降本增效的结果,这背后是玩家基数变化、新游戏资源倾斜,以及运营策略从高速扩张转向精细化维护的必然选择,你不会在官网上看到“服务器缩水”的公告,但排队变长、结算延迟、高延迟对局增多,都是这个趋势的直观注脚,服务器老化的第一个真相:物……

    2026年9月5日
    01281
    • 服务器间歇性无响应是什么原因?如何排查解决?

      根源分析、排查逻辑与解决方案服务器间歇性无响应是IT运维中常见的复杂问题,指服务器在特定场景下(如高并发时段、特定操作触发时)出现短暂无响应、延迟或服务中断,而非持续性的宕机,这类问题对业务连续性、用户体验和系统稳定性构成直接威胁,需结合多维度因素深入排查与解决,常见原因分析:从硬件到软件的多维溯源服务器间歇性……

      2026年1月10日
      020
  • 为什么登录lol没有网络连接到服务器,连接服务器失败怎么办

    登录lol时提示没有网络连接到服务器,根本原因在于你的电脑与游戏服务器之间的网络握手失败,常见于防火墙阻止、DNS解析错误或客户端文件缺失,不少玩家遇到这个提示时,第一反应是怀疑宽带出了问题,但事实上,大部分情况都源自本地计算机的软环境,下面从原因到解决,一步步帮你理清,英雄联盟无法连接服务器是什么原因要解决问……

    2026年8月26日
    01335

发表回复

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

评论列表(4条)

  • 风风6922的头像
    风风6922 2026年9月16日 11:45

    这篇文章写得非常好,内容丰富,观点清晰,让我受益匪浅。特别是关于服务名的部分,分析得很到位,给了我很多新的启发和思考。感谢作者的精心创作和分享,期待看到更多这样高质量的内容!

  • brave924er的头像
    brave924er 2026年9月16日 11:47

    这篇文章的内容非常有价值,我从中学习到了很多新的知识和观点。作者的写作风格简洁明了,却又不失深度,让人读起来很舒服。特别是服务名部分,给了我很多新的思路。感谢分享这么好的内容!

  • 魂魂9518的头像
    魂魂9518 2026年9月16日 11:47

    读了这篇文章,我深有感触。作者对服务名的理解非常深刻,论述也很有逻辑性。内容既有理论深度,又有实践指导意义,确实是一篇值得细细品味的好文章。希望作者能继续创作更多优秀的作品!

  • cute688er的头像
    cute688er 2026年9月16日 11:47

    这篇文章的内容非常有价值,我从中学习到了很多新的知识和观点。作者的写作风格简洁明了,却又不失深度,让人读起来很舒服。特别是服务名部分,给了我很多新的思路。感谢分享这么好的内容!