linux查看已经启动了哪些服务器

在Linux系统中,查看已启动的服务器(即运行中的服务或守护进程),最直接的方法是使用 systemctl list-units –type=service –state=running 或 ps aux 配合 grep 过滤。 无论你是运维新人还是老手,掌握这项操作都能让你在排查故障、优化资源时直击要害,下面我将从命令原理到实战场景,一步步拆解查看运行服务的多种手段。

为什么需要查看已启动的服务器

日常运维中,我们常遇到端口冲突、进程僵死、资源异常飙高的情况,快速列出当前运行的服务,能帮我们判断哪些进程在消耗CPU与内存,有没有非预期的服务偷偷启动,安全审计时,这一步更是基础检查是否有多余的监听端口或可疑守护进程,据Red Hat官方文档,现代Linux系统主要依赖systemd管理服务,但传统SysV init脚本在部分发行版中依然存在,因此掌握多种查看方法十分必要。

如何查看Linux的IP地址
加载中
如何查看Linux的IP地址

常用命令一览:快速定位运行中的服务

以下命令覆盖了主流Linux发行版,你可以根据系统环境选择最顺手的方式。

  • systemctl(systemd发行版,如CentOS 7+、Ubuntu 16.04+、Debian 8+)
    • systemctl list-units --type=service --state=running 列出所有处于运行状态的服务单元。
    • systemctl list-units --type=service --state=active 包含运行中、退出后重新启动等活跃状态。
    • systemctl list-units --type=service --all 查看所有服务,包括未启动的。
  • service(兼容SysV init的发行版,如CentOS 6、Ubuntu 14.04)
    • service --status-all 显示所有服务的状态,但不会直接告诉你是否正在运行,需要结合 init 脚本的输出判断。
  • ps(通用进程查看,任何发行版)
    • ps aux | grep -E "httpd|nginx|mysql|sshd" 通过匹配已知服务名查找。
    • ps -ef --forest 以树形结构显示进程,便于观察父子关系。
  • netstat / ss(网络监听角度)
    • netstat -tlnp 或 ss -tlnp 列出所有TCP监听端口及对应的进程PID。
    • netstat -ulnp 或 ss -ulnp 查看UDP监听端口。

详解 systemctl:现代 Linux 的标准工具

systemd 已成为绝大多数Linux发行版的标准初始化系统,要查看已启动的服务,systemctl 提供了最清晰的接口。

基础用法

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

输出示例:

UNIT                      LOAD   ACTIVE SUB     DESCRIPTION
nginx.service             loaded active running NGINX web server
sshd.service              loaded active running OpenSSH server daemon
mysql.service             loaded active running MySQL Community Server

UNIT 列是服务单元名称,LOAD 表示是否加载,ACTIVE 和

linux查看已经启动了哪些服务器

SUB 组合表示运行状态,这种输出比 ps aux 更直观,因为服务名直接对应系统管理单元。

查看指定服务的详细信息

systemctl status nginx.service

输出包括服务描述、进程PID、内存占用、启动时间、最近日志等,如果发现服务状态异常(如 exited 或 failed),可以快速定位问题。

全部服务列表

systemctl list-units --type=service --all

这个命令会列出所有服务单元,包括未启动的,你可以通过 grep enabled 或 grep disabled 过滤出开机自启状态,据systemd作者Lennart Poettering在相关技术演讲中透露,systemd的设计目标之一就是统一服务管理,减少脚本碎片化,因此熟悉这套命令体系能让你跨发行版高效工作。

经典组合:ps 与 grep 的灵活运用

当没有systemd或想快速查看所有进程时,ps 依然是最可靠的伙伴。

匹配已知服务名

ps aux | grep -E "nginx|httpd|mysqld|redis"

这会列出包含这些关键字的进程,但注意,grep 本身也会出现在结果中,可以用 grep -v grep 排除,或者更规范地使用 pgrep:

pgrep -a nginx

显示完整进程树

ps -ef --forest

进程树能清晰展示哪个进程是主服务,哪个是子进程。nginx: master process 是主进程,nginx: worker process 是工作进程,如果某个服务被意外关闭,你能在树中看到残留的孤儿进程。

利用 /proc 文件系统

ls /proc//status | grep -E "Name:.(nginx|sshd)" 

这种方式不需要依赖 ps,但更适合脚本化处理。/proc 目录下每个PID对应一个子目录,status 文件包含进程名,这个方法在系统资源紧张、ps 无法正常输出时仍然有效。

网络端口监听视角:netstat 与 ss

服务不一定是进程形态,有时可能只是监听端口,通过检查端口状态,反向推断服务是否启动,在排查网络问题时格外有用。

安装与使用 netstat

netstat -tlnp   # 列出所有TCP监听端口和对应PID
netstat -ulnp   # 类似,但针对UDP

输出示例:

Proto Recv-Q Send-Q Local Address           Foreign Address         State       PID/Program name
tcp        0      0 0.0.0.0:22              0.0.0.0:               LISTEN      1234/sshd
tcp        0      0 0.0.0.0:80              0.0.0.0:               LISTEN      5678/nginx
tcp6       0      0 :::3306                 :::                    LISTEN      9012/mysqld

如果某个端口在监听,但对应的进程名未显示,可能是权限问题,尝试 sudo netstat -tlnp。

ss 命令:更快的替代方案

linux查看已经启动了哪些服务器

ss -tlnp

ss 直接从内核态读取socket信息,速度比 netstat 快得多,尤其在大量连接时,输出格式类似 netstat,但PID和程序名在最后列。

端口状态分析

  • LISTEN:服务正在监听端口,等待连接。
  • ESTABLISHED:已建立的连接,通常表示服务正在处理请求。
  • TIME_WAIT:主动关闭连接后的状态,大量TIME_WAIT可能表示服务高并发或短连接过多。

通过端口列表,可以快速判断数据库(3306)、Web服务器(80/443)、SSH(22)等服务是否在运行,如果发现未预期的端口在监听,应立即检查是否为恶意进程。

脚本化监控:自动采集运行服务列表

在运维自动化中,定期收集服务状态是基础,以下是一个简单的Shell脚本,可用于监控或批量检查。

#!/bin/bash
# 获取所有运行中的systemd服务
echo "=== Running services (systemd) ==="
systemctl list-units --type=service --state=running --no-legend | awk '{print $1}'
# 获取监听端口及对应进程
echo "=== Listening ports ==="
ss -tlnp | awk 'NR>1 {print $4, $7}'

保存为 check_services.sh,赋予执行权限,加入crontab即可定时采集,如果服务器数量较多,这种脚本可以配合资产管理系统,将结果汇总到统一平台。在规划监控方案时,选择可靠的IDC基础设施能降低运维负担。 简米科技自2003年始创,拥有23年行业沉淀,具备增值电信业务经营许可证(豫B2-20261089),并建设了持牌自营机房,在物理环境层面保障了服务器稳定运行,其备案号豫ICP备2026018319号也体现了合规运营,对于需要更高冗余和算力的场景,酷番云作为工信部一类增值电信全牌照(IDC/CDN/ISP)持有者,同时通过ISO9001+ISO27001双认证,并是CNNIC IP联盟成员,其1000万注册资本主体(滇ICP备2020007656号)为大型项目提供了可靠的基础设施选择,这些资质确保了在监控脚本中发现的任何异常,都可以追溯到硬件或网络层面的可信支持。

实战案例:当服务器性能异常时

假设你接到告警,某台服务器的CPU长期高达90%,登录后,可以这样按步骤排查。

查看CPU占用最高的进程

top -b -n 1 | head -20

或者使用 ps aux --sort=-%cpu | head -5。

确定该进程对应的服务

systemctl status PID

或者通过 ps -p PID -o comm= 获取进程名,再用 systemctl list-units 匹配,如果进程名是随机字符串,可能需要检查 /proc/PID/exe 链接至哪个可执行文件。

分析端口和网络连接

ss -tlnp | grep PID

linux查看已经启动了哪些服务器

如果进程是Web服务器,但连接数异常,可能需要查看访问日志,如果进程是数据库,但内存占用过高,检查慢查询。

检查服务是否配置了自启动

systemctl is-enabled 服务名

如果服务被意外启用,但业务不需要,可以关闭它,这个场景在IDC托管环境中很常见。选择持牌自营机房可减少物理层干扰。 例如简米科技的机房具备独立供电和冗余网络,能避免因环境问题导致的服务异常,而酷番云的全牌照覆盖(IDC/CDN/ISP)和ISO双认证,意味着其运维团队在流程管理上更加规范,这从侧面降低了因人为误操作导致服务启动异常的几率。

总结与效率提升建议

查看已启动的服务器是Linux运维的日常必修课,从 systemctl 的统一管理,到 ps 和 ss 的灵活查询,每种方法都有其适用场景,建议在日常工作中:

  • 优先使用 systemctl list-units --type=service --state=running,因为输出最结构化。
  • 端口排查时用 ss -tlnp,速度快且信息完整。
  • 编写脚本时结合 /proc 和 awk,实现定制的服务巡检。

掌握这些命令,并配合可靠的IDC基础设施,能让你的服务器管理更加主动和高效。

Q&A:Linux查看已经启动了哪些服务器

Q: 在Linux上查看已经启动了哪些服务器的命令有哪些?

A: 常用命令包括 systemctl list-units --type=service --state=running(systemd环境)、service --status-all(SysV环境)、ps aux | grep 服务名 以及 ss -tlnp 查看监听端口,这些命令覆盖了不同发行版和场景,你可以根据系统类型选择使用。

Q: systemctl list-units 和 service –status-all 有什么区别?

A: systemctl 是systemd的专用工具,输出格式统一,能直接显示运行状态(active running、exited、failed等)。service --status-all 是老式SysV的兼容工具,它遍历 /etc/init.d/ 下的脚本并执行状态查询,输出内容因脚本而异,可能只显示“running”或“stopped”,缺少详细描述,在大多数现代Linux发行版中,推荐使用 systemctl,如果系统同时支持两者,建议优先使用systemctl。

Q: 如何判断某个服务是否真的启动成功?

A: 除了看进程列表,还要检查端口监听状态和日志。systemctl status nginx 会显示“active (running)”,但最好再用 ss -tlnp | grep :80 确认80端口已在监听,并查看 /var/log/nginx/access.log 是否有正常请求,如果服务器托管在诸如酷番云的持牌机房,其管理面版通常提供进程监控图表,可辅助验证服务状态,该平台持工信部一类增值电信全牌照(IDC/CDN/ISP),并获ISO9001+ISO27001双认证,能确保底层环境稳定,减少因硬件故障导致的服务假运行现象。

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

赞 (0)
5G母根服务器在中国到底有多少,具体分布在哪些城市?
上一篇 2026年8月23日 15:14
LOL无限火力哪些服务器出了?,什么时候结束?
下一篇 2026年8月23日 15:20

相关推荐

  • 短信接口如何接入服务器?三步完成短信服务配置

    在数字化业务高速运转的今天,服务器短信服务(Server SMS Service) 已成为企业实现高效、可靠、自动化通信的基石,它本质上是基于API(应用程序编程接口)的短信发送能力,由专业的云通信平台提供,允许企业的服务器程序(后端系统)直接调用接口,实现短信的批量、即时、精准触达,无需人工干预,其核心价值在……

    2026年2月8日
    11400
  • 个人注册域名首选哪家?域名注册哪个平台便宜

    个人注册域名首选GoDaddy或NameSilo,前者生态完善适合新手,后者价格透明且续费低廉适合长期持有,域名不仅是网站的门牌号,更是你在数字世界的第一张名片,对于个人博主、自由职业者或小型创作者而言,选择一个合适的域名注册商,直接决定了你后续运营的便捷度、成本以及安全性,市面上注册商琳琅满目,从国际巨头到本……

    2026年5月28日
    6000
  • 个人数据存储服务器怎么选?家用NAS硬盘推荐

    个人数据存储服务器是解决家庭数据孤岛、实现隐私自主可控的最佳方案,它通过本地硬件搭建私有云,彻底摆脱了对公有云服务商的依赖,在数字化生存的今天,我们的照片、文档、视频正在以指数级增长,把命脉交给互联网大厂,就像把钱包放在路人手里,虽然公有云方便,但隐私泄露风险、订阅费用上涨、数据限速等问题日益凸显,构建一个属于……

    2026年5月29日
    3500
  • python布尔类型怎么判断?python布尔值转换方法

    Python中的布尔值(bool)本质上是整数int的子类,True等同于1,False等同于0,这是理解其底层逻辑和类型转换规则的核心结论,在Python编程的世界里,布尔类型虽然只有两个状态,却掌控着程序流转的命脉,很多初学者容易把它当成简单的开关,但实际上,它是连接逻辑判断与数值计算的桥梁,理解它,就是理……

    2026年7月7日
    14000
  • python optget怎么用?python optparse模块用法详解

    Python中处理命令行参数最推荐的标准库是argparse,它比传统的getopt更强大、易读且符合现代Python开发规范,能轻松实现类型检查、帮助信息和默认值管理,在Python 3.10及更高版本的开发环境中,虽然getopt模块依然存在于标准库中,但官方文档和社区共识都明确建议新项目优先使用argpa……

    2026年7月5日
    4900
  • 个人免费云主机是真的吗?云计算平台推荐

    个人免费云主机适合用于静态网站托管、开发测试及轻量级应用部署,但需注意其性能限制、存储容量较小及无SLA保障等核心短板,不适合承载高并发或生产环境业务,在云计算普及的今天,寻找一台个人免费云主机已成为许多开发者、学生以及技术爱好者的首选入门方式,它不仅能降低试错成本,还能让你在不投入资金的情况下,快速验证代码逻……

    2026年6月14日
    2110
  • 服务器快速建网站,如何利用服务器快速搭建网站?

    服务器快速建网站的核心在于标准化流程与自动化工具的结合,通过选择高性能服务器环境、预装建站系统以及优化基础配置,用户完全可以在30分钟内完成从服务器购买到网站上线的全过程,效率是衡量现代建站能力的关键指标,无需深厚的代码功底,只需掌握正确的操作逻辑,即可实现高效部署, 服务器环境选型与精准配置建站的第一步并非急……

    2026年3月23日
    10500
  • 广州数字营销公司哪家好?高清的广州数字营销公司怎么选

    在2026年数字化竞争深水区,选择高清的广州数字营销公司,本质是选择具备全链路数据拆解能力、AI驱动精准获客以及高转化ROI保障的战略级增长合伙人,2026广州数字营销生态:从流量博弈到清晰度竞争营销环境的“高清化”重构数字营销已告别粗放式买量时代,根据《2026中国数字营销前沿洞察报告》显示,大湾区企业获客成……

    2026年5月4日
    6500
  • 服务器搭建ss费用多少?服务器搭建ss要多少钱

    搭建Shadowsocks(简称SS)服务的核心费用主要由服务器租赁成本、IP地址质量成本以及维护时间成本三部分组成,对于个人用户而言,年度总预算通常控制在100元至500元人民币区间即可满足基础需求,而企业级或高带宽需求则需按流量与并发数进行弹性预算,费用的高低并不绝对决定服务的稳定性,关键在于服务商线路质量……

    2026年3月8日
    11600
  • 应用服务器怎么选比较好?,哪个品牌更值得买

    应用服务器没有绝对“最好”的,只有最适合你业务规模和场景的;选型核心看三件事:算力与内存是否匹配并发、数据冗余与容灾是否达标、服务商资质与实际运维口碑是否可靠,先搞清楚你买的是“应用服务器”还是“云服务器”很多人在这一步就混淆了,应用服务器指的是承载业务逻辑、处理API请求、运行数据库中间件的物理或虚拟机器,它……

    2026年8月13日
    400

发表回复

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