如何查看启动了哪些服务器,查看服务器状态用什么命令?

开篇答案

查看启动了哪些服务器,分两个层面:一是看操作系统里跑了哪些服务进程,二是看这些服务监听了哪些端口,最直接的答案是:Linux 用 ps、netstat 和 systemctl,Windows 用任务管理器、netstat 和 PowerShell,按这几个命令走一遍,所有运行中的服务一目了然。

linux查看服务器启动了哪些服务:这些命令最直观

在 Linux 服务器上,服务本质上就是进程,所谓”查看启动了哪些服务器”,实际操作上就是查看当前有哪些服务进程在运行、以什么身份运行、占用了哪些资源,业内专家指出,运维排查问题时,八成以上的情况靠三条命令就能定位:ps 看进程、netstat 看端口、systemctl 看服务状态。

给服务器增加一个简约可爱的监控面板!随时随地获取服务器的运行状态
加载中
给服务器增加一个简约可爱的监控面板!随时随地获取服务器的运行状态
A
AMGYzhea
5.4万--
原视频地址

ps 命令:看进程全貌

ps 是老牌进程查看工具,但裸执行 ps 只能看到当前终端的进程,意义不大。真正实用的是组合参数:

ps -ef | grep java

这条命令能筛选出所有 Java 进程,比如你部署了一个 Spring Boot 应用,执行后能看到完整的启动命令、JVM 参数、工作目录,如果发现进程不存在,说明服务挂了;如果进程存在但端口不通,那就进入下一步查端口。

更全面一点的用法:

ps aux --sort=-%mem

按内存占用从高到低排列所有进程,一眼就能看出哪些服务吃资源,机器卡顿的时候,这条命令比看监控面板还快。

systemctl:查 systemd 托管的服务

现代主流 Linux 发行版都用 systemd 管理服务。查看所有正在运行的服务:

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

输出结果会列出服务名称、加载状态、运行状态,配合 systemctl status 服务名 能看到具体 PID、内存占用、最近日志。

这里有个常见的坑:systemctl 显示服务在运行,但业务请求就是不通,原因是服务进程崩了但 systemd 没检测到,或者只起了主进程没起工作进程,所以行业共识认为,systemctl 要和 ps、netstat 配合使用,只看一个不够。

实时动态:top 和 htop

top 是动态刷新界面,按 c 键显示完整命令路径,按 P 按 CPU 排序,按 M 按内存排序,排查”服务器负载突然飙高”时,top 是首选。

htop 是增强版,彩色界面,支持鼠标操作,F6 可以按进程树展开,虽然不是所有服务器都预装,但 apt install htop 或 yum install htop 装一下很值得。

windows服务器查看端口占用命令和进程对照方法

Windows 服务器的查看逻辑和 Linux 不一样,没有统一的 ps 命令,但PowerShell 的 Get-Process 和内置的 netstat 组合起来功能更强大。

任务管理器:最直观的入口

按 Ctrl + Shift + Esc 打开任务管理器,切到”详细信息”标签页,这里能看到所有进程的 PID、CPU 占用、内存占用、用户名,但任务管理器有个致命弱点:看不到进程对应的完整路径和启动参数,有些恶意进程光看名字根本识别不出来。

所以专业运维的流程是:任务管理器发现可疑进程,记下 PID,然后用下面的命令查它的底细。

netstat 查端口和 PID 的对应关系

netstat -ano

解释一下输出:-a 显示所有连接和监听端口,-n 用数字形式显示地址和端口(不做域名反解,速度快得多),-o 显示所属进程的 PID。

最实用的场景是”端口被占用”,比如启动 Tomcat 时报 8080 端口被占,执行:

netstat -ano | findstr 8080

看到输出最后一位数字就是占用进程的 PID,然后查这个 PID 是谁:

tasklist | findstr 12345

这样能拿到进程名,如果想看更详细的启动路径,用 PowerShell:

Get-Process -Id 12345 | Select-Object Path

运行中服务的完整清单

Windows 上查看”服务器启动了哪些服务”还有一个独特视角,Windows 服务管理器:

services.msc

里面列出了所有注册为 Windows 服务的程序,状态列会显示”正在运行”或”已停止”,但这个列表不包含直接启动的 exe 程序,所以不能完全替代任务管理器。

把服务管理器、任务管理器、netstat 三者结合起来,才是一份完整的 Windows 服务清单,查看启动类型(自动/手动/禁用)在服务属性里,启动类型为”自动”但状态停止的服务,往往就是开机失败或崩溃的服务,值得重点检查。

如何确认服务器上的服务都正常启动:端口和进程的双向验证

很多新手有个误区:觉得进程在就等于服务正常。进程活着和业务可用是两回事,最稳妥的做法是端口验证和进程验证双向交叉确认。

用端口反向验证监听状态

netstat -tlnp

Linux 上这条命令列出所有 TCP 监听端口和对应的程序名。-t 只看 TCP,-l 只看监听状态,-n 不做域名解析,-p 显示程序名和 PID。

判断标准:你部署的每一个服务都应该有一个对应的监听端口,而且这个端口必须出现在 0.0.0 或 监听地址上(表示对所有网卡开放),如果出现在了 0.0.1 上,说明服务只监听了本机回环地址,外部设备访问不了这是非常常见的配置错误。

检查端口连通性

进程在、端口也监听了,还不算完,实际还能不能通信,用 ss 或 telnet 验证:

ss -tnlp

ss 是 netstat 的现代替代品,输出更快更全。-t 显示 TCP socket,-n 不解析服务名,-l 只显示监听 socket,-p 显示进程信息。

本地验证连接:

curl -I http://localhost:8080

如果返回 HTTP 响应头,说明 HTTP 服务正常响应,对 MySQL、Redis 这类非 HTTP 服务,可以用 telnet ip 端口 测试 TCP 握手。

配置了服务的开机自启检查

有些服务当前运行正常,但系统重启后会失效。检查开机自启配置是”确认服务正常”不可少的一环:

systemctl is-enabled 服务名
systemctl list-unit-files --type=service | grep enabled

第一条查单个服务是否开机自启,第二条列出所有自启动服务,行业里做服务器巡检,这三样必须同时确认:当前运行状态、监听端口、自启动配置,三样都落实了,才算一个服务”真正正常”。

快速实战:一次典型服务器排查的完整流程

把上面这些零散命令串成一个场景化流程,你会更清楚”查看启动了哪些服务器”在实际工作中是怎么用的。

刚部署完服务,想知道起来没有

假设你刚在一台 CentOS 服务器上部署了一个 Java 后端和 Nginx 前端:

  1. 先看 Nginx 状态:systemctl status nginx,显示 active (running) 就过了第一关
  2. 查 Java 进程:ps -ef | grep java,确认 jar 包路径和启动参数没问题
  3. 验证端口:netstat -tlnp | grep 8080,确认 Java 服务监听了 8080
  4. 本地请求验证:curl -I localhost:8080/api/health,看返回 200
  5. 远程验证:从你的电脑上 telnet 服务器IP 8080,通的话就彻底没问题

顺序不能乱,每一步都在上一层验证基础上增加一个维度。

服务器变卡了,找出吃资源的服务

  1. 执行 top 按 M 键按内存排序,看看哪个进程排前面
  2. 按 c 键展开命令全路径,确认是不是已知的业务进程
  3. 如果是未知进程,用 ls -l /proc/PID/exe 查看它的可执行文件路径
  4. 用 systemctl status PID 反查这个 PID 属于哪个 systemd 服务
  5. 查日志:journalctl -u 服务名 --since "1 hour ago" 看这个服务这一小时在干什么

服务器上有大量时间和资源的进程

最稳妥的做法是按时间戳排查:

ps -eo pid,lstart,cmd --sort=start_time | head -30

lstart 显示进程的精确启动时间,--sort=start_time 按启动时间排序,如果服务器是三天前重启的,但某个进程显示启动时间是一小时前,那就需要重点关注了。

lsof -p PID | wc -l

统计某个进程打开的文件句柄数,如果数量异常高,基本可以断定有资源泄漏或者行为可疑。

常见问题解答

Q1:Linux 服务器上 ps -ef 显示的进程太多了,怎么快速找到自己部署的应用?

业界有两种主流思路,都基于部署前的规划:一种是用启动账号区分,比如专门创建一个 app 用户部署服务,然后用 ps -u app 直接列出该用户全部进程;另一种是用端口反查,先用 netstat -tlnp | grep 端口号 找到 PID,再用 ps -fp PID 看完整信息,建议在部署文档里注明每个服务的默认端口和启动用户,排查时直接按这两个维度筛选,效率远高于在千行输出里逐条找。

Q2:查看启动的服务和查看正在监听的端口,两者有什么区别?

服务是一个逻辑单位,可能包含一个主进程加多个子进程;端口是网络通信的入口,是运行结果而非运行本体,最典型的例子是 Nginx:ps 能看到一个 master 进程和多个 worker 进程,但 netstat 只会看到一个 80 端口监听。如果某个服务没监听端口,说明它要么还没启动完成,要么启动失败了。

Q3:网络上有哪些服务在监听,这些服务占用的端口范围大概是什么样的?

以常见部署架构为例:Web 服务器占用 80/443,反向代理也是 80/443,后端 API 通常是 8080 或 8443,数据库服务 MySQL 是 3306、PostgreSQL 是 5432,缓存服务 Redis 是 6379,消息队列 Kafka 是 9092,这些端口是业界约定俗成的默认值,但出于安全考虑,公网环境的实际部署方案通常会改用随机高位端口并开启防火墙白名单策略,大多数情况下,生产服务器的监听端口不超过 20 个,如果数量远超这个数,建议审计每一个非白名单端口的用途。

写在最后

查看启动了哪些服务器,说到底就是三件事:进程有没有、端口通不通、自启动配没配,把 ps、netstat、systemctl 三个工具用熟,再理解 pid 和端口的对应关系,绝大多数问题都能在几分钟内定位,掌握这套方法论,比背下任何一条单独的命令都重要因为命令会变,但”进程和端口双向验证”的思路不会过时。

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

赞 (0)
上一篇 2026年11月15日 13:54
服务器跳转搭建的详细步骤是什么?,常见问题有哪些?
下一篇 2026年7月29日 14:12

相关推荐

  • 如何修改分页存储管理逻辑地址?,逻辑IP地址怎么修改?

    分页存储管理将逻辑地址划分为页号和页内偏移,通过页表完成到物理地址的转换;修改逻辑IP地址则是在操作系统中更改网络标识,两者看似不同,但都涉及地址重定位的核心思想,分页存储管理逻辑地址结构解析逻辑地址是CPU在执行程序时生成的地址,代表程序视角的存储空间,在分页存储管理中,逻辑地址被分成两个部分:页号和页内偏移……

    2026年8月3日
    300
  • 广州FPGA服务器代码怎么写?FPGA服务器配置教程

    在广州的数字经济高地,FPGA服务器的代码质量直接决定了计算集群的吞吐效率与延迟表现,核心结论在于:优质的FPGA服务器代码必须实现硬件架构与业务逻辑的深度协同,而非简单的功能堆砌,对于追求极致性能的企业而言,代码的优化程度就是业务的核心竞争力, 广州FPGA服务器代码的核心价值与挑战随着广州人工智能与大数据产……

    2026年3月31日
    8100
  • 超百万服务器有哪些牌子呢,服务器品牌排行榜有哪些?

    能在超百万级并发场景下长期稳定运行的服务器,主要来自戴尔、HPE、浪潮、联想、超微这几家老牌厂商,华为凭借自研算力底座在特定场景下也有一席之地,这个结论不是凭空来的,而是和主流云厂商、大型互联网公司以及金融单位的实际采购清单高度重合,下面从品牌格局、硬件选型、采购避坑三个维度逐一拆开讲,超百万服务器的品牌格局与……

    2026年9月26日
    600
  • 大宽带服务器租用有哪些套路?大宽带服务器租用避坑指南

    租用大宽带服务器,最核心的避坑法则只有一条:穿透“不限流量”与“独享带宽”的营销迷雾,锁定真实带宽成本与硬件配置的性价比匹配度,拒绝隐性收费, 很多企业在租用服务器时,往往被低价吸引,却忽视了带宽质量、线路优化与售后响应速度,最终导致业务卡顿、成本失控,真正优质的大宽带服务器租用,必须是硬件性能、网络质量与服务……

    2026年3月8日
    13200
  • WooCommerce怎么设置免费送货?woocommerce免费运费插件推荐

    在WooCommerce中设置免费送货的核心方法是进入“设置”>“配送”面板,创建新的配送区域,并添加“免费配送”作为该区域的配送方式,同时可结合最低订单金额或特定产品类别进行精准限制,免费配送不仅是促销手段,更是提升转化率的关键策略,许多商家误以为免费送货就是简单的“包邮”,实际上它涉及复杂的成本核算与……

    2026年6月25日
    2500
  • 区块链存证安全吗?互联网区块链安全计算存证

    中心化存储的信任危机业内专家指出,传统数据库的权限管理过于依赖人工审计,缺乏自动化且不可逆的验证机制,当数据存储在单一服务商手中时,用户实际上是将信任完全让渡给了第三方,这种模式在早期互联网发展阶段或许足够用,但在涉及高价值资产如知识产权、金融合约时,其脆弱性暴露无遗,数据一旦上链,便形成了分布式账本,任何节点……

    2026年6月3日
    3800
  • 手写服务器编程到底有哪些类型,适合哪些人学习?

    编程手写服务器,指不依赖完整Web框架,直接基于TCP/HTTP协议用代码实现一套能独立处理请求的服务程序,常见类型按用途分为手写HTTP服务器、手写静态文件服务器、手写反向代理服务器和手写WebSocket长连接服务器,按开发语言则覆盖Node.js、Python、Go、Java和C++等主流方向,手写服务器……

    2026年10月12日
    200
  • 高防服务器机房电力双路市电能防断电吗,服务器双路供电故障切换

    高防服务器机房采用电力双路市电接入,能在单一电网故障时实现毫秒级无缝切换,确保业务连续性,这是保障高防业务稳定运行的基础物理防线,在网络安全防护领域,很多人只盯着防火墙的吞吐量或清洗能力的上限,却往往忽略了最底层的“命门”——电力供应,对于承载核心业务的高防服务器而言,电力中断不仅意味着服务停机,更可能导致数据……

    2026年6月16日
    3100
  • 本地搭建网站如何用域名访问?本地环境配置域名访问教程

    本地搭建网站如何用域名访问?答案就在这篇文章里本地搭建网站要用域名访问,核心在于把域名解析到你的电脑IP,再通过端口映射或内网穿透,让外部设备能找到你的本地服务,别被技术名词吓到,下文是2026年仍适用的完整操作路线,第一步:理清本地网站与公网域名的访问关系你在一台电脑上装了Nginx或Apache,监听808……

    2026年9月2日
    1400
  • 神武还有哪些老服务器,哪个老区人气最高?

    神武老服务器主要指2010年至2014年间开放的第一批和第二批服务器,天下无双”“风云再起”“紫气东来”是最有代表性的元老区,目前多数老区经过合服后仍可正常进入,神武有哪些老服务器:先看这四类判断标准玩家口中的“老服务器”不是官方定级,而是按开服时间、合服记录和区服生态自然形成的说法,业内专家指出,判断一个服务……

    服务器宽带 2026年11月7日
    600

发表回复

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