centos怎么查看运行着哪些服务器,有哪些常用命令?

在CentOS系统上查看运行着哪些服务器,本质上就是查看当前系统运行了哪些服务、进程以及监听了哪些端口,核心工具是systemctl、ps、ss和lsof。把这几条命令组合起来,你就能在五分钟内摸清一台服务器的底细,下面咱们从最常用到最底层,一层层拆开讲。

先想清楚一个问题:你要查的是服务、进程,还是端口

很多人一上来就敲命令,结果查出来的东西和想象中完全对不上,原因在于“运行着哪些服务器”这句话在不同场景下指的东西不一样。

5分钟学会查看Linux端口占用情况
加载中
5分钟学会查看Linux端口占用情况
  • 服务(Service):通过systemd管理的守护进程,比如nginx、mysqld、httpd,这类东西用systemctl查。
  • 进程(Process):系统里所有正在跑的程序实例,包括非systemd管理的杂项进程,这类用ps和top查。
  • 端口(Port):某个服务到底占用了哪个端口,以及谁在监听这个端口,这类用ss和lsof查。

行业共识认为,排查问题时要先定位是服务级别的问题还是端口级别的问题,否则容易绕远路。

三个概念混在一起会出什么乱子

举个例子,你用systemctl status nginx看到服务是running,但网页就是打不开,这时候如果只盯着服务状态,永远找不到原因,真正的问题可能是nginx没监听80端口,或者监听在了一个错误IP上,反过来,你用ss -tlnp看到8080端口被占用了,但不知道是哪个程序占的,照样没法处理,所以这三个维度缺一不可,接下来逐个看命令。

centos 7系统 查看运行的服务,优先使用systemctl命令

CentOS从7代开始全面使用systemd替代了旧的SysVinit,service和chkconfig命令虽然还兼容,但展示的信息远不如systemctl直观。

systemctl list-units 查看所有活跃服务

最直接的一条命令是:

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

这条命令会列出所有正在运行的service单元,每行显示服务名、加载状态、活跃状态和简要描述,输出比较长,建议配合管道过滤,比如你想看有没有和数据库相关的服务:

systemctl list-units --type=service --state=running | grep -i sql

-i参数忽略大小写,这一招在你记不住服务全名的时候特别管用。

systemctl status 查看单独一个服务的运行细节

如果你知道服务大概叫什么名字,直接加状态查询:

systemctl status mysqld

输出结果会包含主进程PID、内存占用、CPU时间、最近几条日志信息,这个命令最大的价值在于:它把服务状态、进程信息和最近日志聚合到了一起,遇到服务启动失败的情况,这里直接能看到失败原因,省得再翻日志文件。

查所有服务而不只是一部分

记住一个技巧:不带

centos怎么查看运行着哪些服务器,有哪些常用命令?

--state=running参数是查看所有服务,包括已经退出的和被禁用的:

systemctl list-units --type=service

这条输出能看到哪些服务处于failed状态,在清理服务器时,关注failed状态的服务往往能发现历史遗留问题。

顺手查一下开机自启项

要了解一台服务器“平时都在干什么”,光看当前运行的不够,还得看开机自启:

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

很多运维事故的根源,就是某个服务上次启动之后就死了,但系统重启后它又自己拉起来,占用了你没想到的端口,这条命令帮你提前看到这些“潜伏者”。

centos查看服务端口占用,用ss和netstat定位监听状态

知道有哪些服务运行只是第一步,很多冲突问题的根源是端口,而不是服务本身,比如你启动了一个新应用,提示端口被占用,你得立刻查出是谁占的。

ss命令是CentOS 7之后推荐的工具

ss -tlnp

参数拆开解释:

  • -t:只看TCP连接。
  • -l:只看监听状态的端口。
  • -n:不做域名反解,直接显示IP和端口号,速度快且干净。
  • -p:显示占用端口的进程PID和名称。

输出结果中Local Address:Port那列就是本机监听地址和端口,Process那列直接告诉你是哪个程序,这条命令在所有CentOS版本上都能用,不需要额外安装。

指定要查具体端口,过滤即可

端口太多了一屏看不完,精准定位更快:

ss -tlnp | grep :80

冒号不能省略,不然会把所有包含80的IP地址、端口全滤出来,干扰判断,记得在端口后面加结尾符更精确:

ss -tlnp | grep ':80 '

后面跟一个空格,彻底避免匹配到8080、8000这类干扰项。

netstat命令在一些旧版本上仍然有价值

CentOS 6或者更老的环境里,ss命令可能不存在(虽然少),netstat是当时的标配:

netstat -tlnp

参数含义和ss完全一致,CentOS 7及更高版本里netstat可能没默认安装,你需要先装net-tools工具包:

yum install -y net-tools

如果你在一个内存极其有限的服务器上,装net-tools显得笨重,用ss就够了,如果你是在熟悉的旧机器上操作,用netstat也完全没问题,两者输出格式很接近。

用lsof按进程反查端口

换个思路:你看到一个进程叫java,想搞清楚它到底占用了哪些端口,这时候ss不太好用,因为它需要你从一堆进程里翻,用lsof一步到位:

lsof -i -P -n | grep java

-i表示查看网络相关的文件,-P

centos怎么查看运行着哪些服务器,有哪些常用命令?

禁用端口名解析(直接显示数字端口),-n禁用域名反解,这条命令的输出会列出java进程所有已建立的连接和监听端口,lsof通常不是默认安装的,需要单独装:

yum install -y lsof

综合来看,日常排查时用ss查端口,用lsof按进程查端口,两者配合几乎覆盖所有场景。

用ps和top查看真正的底层进程状态

systemctl查的是systemd视角下的服务,但服务器上跑的进程不止这些,还有其他非托管程序,这时候回到最底层,用ps查看进程快照。

ps aux:查看完整进程列表

ps aux

这是Linux上最经典的进程查看命令,输出内容包括用户、PID、CPU占用、内存占用、虚拟内存、物理内存、终端、状态、启动时间、具体命令,搜索关键词是这个命令的精髓:

ps aux | grep python

grep前面最好加个[p]技巧防误匹配:

ps aux | grep [p]ython

这个技巧很老套但非常实用,不加方括号时,grep那条命令自身也会被匹配出来,多一行无用输出,干扰判断。

ps -ef:看到父子进程关系

ps aux的格式偏BSD风格,ps -ef则是标准风格,多了PPID(父进程PID)列:

ps -ef

看父子关系对你诊断问题极有帮助,比如你看到一堆nginx进程,PID各不相同,用ps -ef能看出谁是谁的主进程、谁是工作进程,主进程挂掉后,工作进程全部成孤儿,这通常是配置错误或崩溃的信号。

top:实时刷新查看资源占用大户

top命令一执行就进入交互界面,默认按CPU占用率排序,每三秒刷新一次,在一台卡顿的服务器上,第一眼就该看top,找出CPU或内存占用最高的那个进程,这就是问题的核心。

几个交互快捷键:

  • M:按内存占用排序。
  • P:按CPU占用排序。
  • k:输入PID直接杀掉进程。
  • q:退出。

按内存排序在排查内存溢出时异常高效,比如你的服务器内存用了90%,按M一看,最顶上一个java进程占了60%,问题定位基本完成。

实战场景:接手一台全新服务器怎么快速摸清家底

把前面这些命令串起来,形成一套操作流程。

第一步:查看服务列表

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

这一步摸清当前有多少服务在跑,心里有个大框架,如果服务数量超过50个,这台机器的运行情况就偏复杂了,建议把不用的服务停掉并禁用。

第二步:抓出监听端口

ss -tlnp

把监听的端口列出来,结合上一步的服务名,一一对应起来,一个端口对应一个服务,如果发现某个端口没有任何已知服务对应,立马查进程。

centos怎么查看运行着哪些服务器,有哪些常用命令?

第三步:按端口反查进程

lsof -i :8080

此时如果你的服务列表里没有8080,但lsof显示这个端口被某个不明程序占用,基本可以确定这台服务器上有来路不明的程序在运行,安全审计的关键就在这一轮。

第四步:确认系统整体运行时长和负载

uptime

这条命令虽然简单,但信息量不小:系统当前时间、运行时长、登录用户数、过去1分钟/5分钟/15分钟的平均负载,如果15分钟负载远高于1分钟负载,说明系统正在经历高峰压力;反过来如果1分钟负载特别高,说明刚刚发生了突发状况。

数据备份与定期巡检的落地建议

一个在上线时记录所有服务和端口的基准文档,比任何监控工具都实用,操作方式是在刚搭建完服务器、所有服务都正常运行的时候,执行一次:

systemctl list-units --type=service --state=running > /root/service_baseline.txt
ss -tlnp > /root/port_baseline.txt

保存好这两个文件,平时巡检时再执行一遍同样的命令,把输出和基准文件做对比,差异之处就是需要重点关注的对象,用diff直接比对:

diff /root/service_baseline.txt <(systemctl list-units --type=service --state=running)

这套方法不需要任何额外软件,只需要一个文件去保存基线数据,据工信部公开信息,近年来国内企业服务器操作系统中CentOS系列曾占据较大比例,系统管理员掌握这套基线对比思路,能显著降低运维误操作风险。

常见疑问解答

centos查看运行着哪些服务器,最推荐的命令组合是什么?

先执行systemctl list-units --type=service --state=running看服务全貌,再执行ss -tlnp看端口监听情况,最后用ps aux按需验证具体进程,这三条命令覆盖了服务、端口、进程三个维度,处理多数排查场景已经足够。

systemctl和ps查出来的结果不一样,这是怎么回事?

systemctl只管理systemd注册过的服务,ps查看的是系统全部进程,有些进程是用户直接启动的、临时执行的或者由脚本拉起的,并不在systemd的管理范围内,所以ps显示的进程数大于等于systemctl显示的服务数,这种情况正常,但如果一个服务在systemctl里是active,ps里却完全找不到对应进程,那多半是状态不同步或服务僵死,需要重启服务。

查看服务器上的运行服务需要root权限吗?

查看当前用户权限能看到的进程,普通用户执行ps aux能看到所有进程的基本信息,但ss -tlnp输出其他用户进程的PID和名称时需要root权限,没有root权限时ss -tlnp会隐藏进程信息列,只显示端口监听状态,生产环境建议通过sudo执行这些命令,避免权限不足导致信息不完整而误判。

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

赞 (0)
服务器最多能加几个网口,怎么扩展网络接口
上一篇 2026年10月1日 12:01
微信服务器有多少人维护?,微信服务器规模多大
下一篇 2026年10月1日 12:06

相关推荐

  • html热力图js怎么用?js实现网页热力图代码

    使用HTML热力图JS库(如Heatmap.js或ECharts)是快速实现数据可视化交互的最佳方案,它能将枯燥的数字转化为直观的色彩分布,帮助决策者瞬间捕捉页面或地图上的热点区域,在数字化运营日益精细化的今天,单纯看表格数据已经无法满足高效决策的需求,无论是电商网站的点击分布,还是城市交通的拥堵状况,视觉化的……

    2026年6月10日
    3600
  • 广告发布网站模板怎么选?免费下载资源哪里找

    高效构建广告发布平台的核心在于选择并定制专业的广告发布网站模板,这不仅能节省90%以上的开发成本,更能以最快的速度响应市场流量变化,实现广告业务的快速变现与规模化运营,在数字化营销高速发展的今天,企业搭建自有广告发布平台已成为提升品牌影响力和拓展营收渠道的关键战略,传统的定制开发模式动辄耗时数月,且试错成本极高……

    2026年4月3日
    8000
  • DedeCMS如何一键迁移到WordPress?WordPress迁移数据教程

    通过专用转换插件配合手动数据校验,即可将DedeCMS网站平滑迁移至WordPress,实现内容无损过渡与SEO权重保留,许多站长在维护DedeCMS多年后,面对其日益增长的安全漏洞和插件生态萎缩,往往感到焦虑,DedeCMS曾是国内建站的主流选择,但近年来,其更新频率降低,社区活跃度下降,导致许多老旧站点面临……

    2026年6月20日
    3400
  • HTML表单数据如何保存到数据库?前端数据提交后端接收方法

    将HTML表单数据保存到数据库的核心逻辑是:前端通过HTTP请求(GET/POST)发送数据,后端服务器接收并解析数据,利用SQL语句将其安全地插入到关系型数据库(如MySQL)中,全程需配合参数化查询以防止SQL注入攻击,在实际开发场景中,无论是构建一个简单的用户注册页面,还是搭建复杂的电商订单系统,数据持久……

    2026年6月5日
    3900
  • 时间校时服务器有哪些,选购时要注意什么?

    时间校时服务器就是通过网络协议为交换机、服务器、防火墙等设备提供统一标准时间的硬件设备,主流类型分为GPS授时服务器、北斗授时服务器、NTP时间服务器和PTP高精度服务器,这篇文章直接帮你拆清楚不同场景该选哪种,以及品牌和价格背后的真实差异,先分清你需要哪种时间校时服务器选设备之前,先回答一个问题:你的网络里最……

    2026年10月17日
    300
  • Gname网站防护如何工作?网站安全防护方案有哪些

    Gname网站防护的核心原理是通过云端分布式节点拦截恶意流量,利用智能算法识别并清洗DDoS攻击、CC攻击及Web入侵,确保业务连续性,其最大优势在于无需本地硬件部署、弹性扩容及高性价比,Gname网站防护底层运作机制解析想象一下,你的网站是一座位于繁华地段的银行,如果没有防护,任何手持武器的人都能直接冲进去抢……

    2026年6月23日
    2110
  • 广安智能教育科技文化中心在哪里?广安智能教育科技文化中心怎么样

    广安智能教育科技文化中心作为区域教育数字化转型的核心引擎,正通过智能化技术重构教育生态,推动文化传承与科技创新深度融合,其核心价值在于以“智能+教育+文化”三位一体模式,打造覆盖全年龄段的学习场景,同时依托简米科技等企业的技术赋能,实现教育资源的精准配置与高效利用,以下从功能定位、技术支撑、社会效益三个维度展开……

    2026年4月1日
    9300
  • 有模组的服务器有哪些选择,怎么挑选靠谱的?

    有模组的服务器主要包括《我的世界》Java版整合包服、基岩版行为包服、泰拉瑞亚tModLoader服、方舟生存进化模组服、饥荒联机版模组服,以及Rust、求生之路2等支持创意工坊的服务器, 如果你在找“有模组的服务器有哪些”,先锁定游戏,再按模组加载方式、开服成本和延迟选方案,有模组的服务器有哪些?先按游戏生态……

    2026年9月27日
    000
  • 金融国外服务器有哪些,哪家便宜又稳定?

    金融业务对海外服务器的核心需求在于低延迟、合规认证与稳定运行,目前主流方案包括AWS云金融专区、Equinix托管集群,以及香港、新加坡等地的高规格机房, 做量化交易、跨境支付或金融数据备份,选服务器的逻辑和做普通网站完全不同,不能只看带宽和硬盘,要重点看网络路径距离、交易所机房附近的托管位置,以及机房是否持有……

    2026年9月25日
    100
  • 广州服务器租用性价比怎么判断更靠谱,哪个好

    判断广州服务器租用性价比,不能只看价格,核心在于根据业务需求匹配带宽、硬件与售后,综合对比服务商线路质量与长期稳定性,广州作为华南网络枢纽,服务器租用市场成熟但价格差异大,很多新手容易陷入低价陷阱,或者盲目追求高配置,实际操作中,性价比应围绕你的业务场景来定,比如是跑网站、游戏还是企业应用,不同需求对带宽、硬件……

    2026年8月11日
    700

发表回复

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