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://idctop.com/linux%e6%9f%a5%e7%9c%8b%e5%b7%b2%e7%bb%8f%e5%90%af%e5%8a%a8%e4%ba%86%e5%93%aa%e4%ba%9b%e6%9c%8d%e5%8a%a1%e5%99%a8/

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

相关推荐

  • 服务器接收https请求,服务器如何处理https请求?

    服务器接收HTTPS请求的本质,是在不可信的网络环境中建立一条加密通道,确保数据在传输过程中的机密性与完整性,这一过程依赖于SSL/TLS协议的精密握手与加密解密机制,核心结论在于:服务器处理HTTPS请求的关键并非单纯的数据接收,而是通过证书验证、密钥交换与对称加密三个核心阶段,构建起一道防御中间人攻击与数据……

    2026年3月8日
    11200
  • Solaris 11.2虚拟机如何安装?,安装步骤有哪些?

    安装Solaris 11.2虚拟机,核心思路是:先下载x86版ISO镜像,在VMware Workstation或VirtualBox中创建虚拟机,调整CPU、内存和磁盘参数后,从ISO引导进入文本安装界面,按提示完成磁盘分区和网络配置即可,整个过程大约需要30到45分钟,最大的门槛不是操作本身,而是对Sola……

    2026年9月2日
    500
  • 虚拟机分区命令具体怎么操作,详细步骤有哪些?

    先分区再格式化挂载虚拟机分区命令的核心操作流程是:用fdisk或parted创建分区表与分区,用mkfs格式化文件系统,再用mount挂载到目录,最后写入fstab实现开机自动挂载,无论你用的是VMware、VirtualBox还是KVM,底层都是这套Linux逻辑,只是分区工具和磁盘设备名略有差异,虚拟机分区……

    2026年9月2日
    400
  • 服务器如何设置开机自动启动SSH服务?SSH服务自启动配置教程

    服务器实现SSH服务的开机自启动,是保障运维效率与系统可管理性的基石,核心结论在于:通过系统原生服务管理工具(如systemd或SysVinit)将sshd服务设为开机自启,并配合端口监听检测与防火墙放行,能够确保服务器在重启后无需人工干预即可恢复远程管理能力,这是构建高可用运维体系的第一道防线,SSH服务自启……

    2026年3月27日
    7500
  • 域名授权API如何确保安全高效?有哪些实现方法?

    域名授权API的安全高效核心在于:通过动态令牌、加密签名和分布式验证实现实时可控的授权管理,同时配合自动化流程减少人工介入,基于这一前提,本文从技术实现、操作路径、成本对比三个维度展开,帮你理清如何落地一套既防破解又省维护的授权体系,域名授权API安全吗?从验证流程看核心机制业内专家指出,域名授权API的安全性……

    2026年9月2日
    500
  • 如何查看服务器登录用户?服务器用户管理必备技巧

    服务器查看登录用户查看当前登录服务器用户的核心方法是使用终端命令:who、w、finger、last 以及检查系统日志 /var/log/secure (Linux) 或 /var/log/auth.log (Linux) 或安全事件日志 (Windows),核心命令:实时查看当前活跃用户who 命令功能: 最……

    2026年2月12日
    16800
  • 服务器散热片到底有哪些类型,散热片怎么选?

    服务器散热片主要分为被动式铝挤散热片、主动式风扇结合热管散热模组、以及用于高密度计算的液冷冷板三大类,其中风冷散热片仍是当前绝大多数2U以下通用服务器的绝对主流方案,市面上关于散热片的叫法很多,但落到服务器硬件层面,本质上就是解决“把CPU/GPU产生的热量快速搬运走”这个问题,如果你正打算DIY一台服务器,或……

    2026年9月10日
    600
  • 个人网站作品如何展示?个人网站搭建教程

    个人网站作品不仅是展示技能的数字名片,更是构建个人品牌信任背书、实现被动获客的核心资产,其价值远超简单的信息罗列,在数字化生存成为常态的今天,拥有一个独立且专业的个人网站,意味着你掌握了对自己数字形象的绝对控制权,它不像社交媒体那样受限于算法推荐,也不像第三方平台那样随时面临封号风险,对于设计师、开发者、咨询顾……

    2026年5月25日
    3900
  • 服务器怎么搭vps?搭建vps详细步骤教程

    搭建VPS的核心在于选择稳定的物理服务器、虚拟化架构以及网络环境,并完成系统初始化配置,搭建过程本质上是通过虚拟化技术,将一台物理服务器分割成多个独立的小型服务器环境,每个环境拥有独立的操作系统和资源配额, 这要求操作者具备Linux基础、网络配置能力以及对虚拟化技术的深刻理解,核心结论是:成功搭建VPS的关键……

    2026年3月17日
    13000
  • 米个域名是什么?新手怎么选才对?,米个域名注册价格多少

    米个域名,本质上是指一个短小、好记、价格亲民的个性域名,新手选它的核心逻辑是“按用途匹配后缀,按预算锁定长度”,而不是盲目追新,很多刚接触建站的朋友会在各种社群里听到“米个域名”这个说法,第一次听到时容易懵:这到底是个啥域名?跟.com有啥区别?米”是圈内对域名的戏称,买域名叫“煮米”,收藏域名叫“囤米”,“米……

    2026年9月1日
    500

发表回复

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