售前咨询400-838-0503

如何查看Linux云服务器当前运行的服务?

技术文档 2025-04-03 08:45

Linux云服务器运行服务全解析:5种必学检测方法

在云服务器运维工作中,准确掌握当前运行的服务是系统管理的基础。本文将详细介绍5种专业级检测方法,帮助您全面掌控Linux服务器的服务状态。

1. systemctl命令 - 系统服务管理利器

作为现代Linux发行版的标准服务管理工具,systemctl提供了最全面的服务监控能力:

# 查看所有已加载的服务单元
systemctl list-units --type=service

# 显示所有服务状态(包括未运行)
systemctl list-units --type=service --all

# 过滤显示运行中的服务
systemctl list-units --type=service --state=running

优势:支持服务状态过滤、显示详细描述信息、可查看服务依赖关系。

2. service命令 - 传统服务的兼容方案

对于使用SysV init脚本的老系统,service命令仍是可靠选择:

# 列出所有可用服务
service --status-all

# 带状态标识的列表
service --status-all | grep +

# 检查特定服务状态
service nginx status

注意:符号说明:[ + ]表示正在运行,[ - ]表示停止,[ ? ]表示状态未知。

3. ps命令 - 进程级深度检测

直接分析进程可以绕过服务管理框架,发现隐藏进程:

# 查看所有运行进程
ps aux

# 过滤常见服务进程
ps aux | grep -E 'nginx|httpd|mysql|redis|docker'

# 树形显示进程关系
pstree -p

专业技巧:结合watch -n 1命令可实现动态监控。

4. netstat/ss命令 - 网络服务监听检测

通过端口监听情况反推运行服务:

# 传统netstat方式
netstat -tulnp

# 现代ss替代方案
ss -tulnp

# 解释输出字段:
# -t: TCP -u: UDP -l: 监听 -n: 数字格式 -p: 显示进程

安全提示:特别注意0.0.0.0和:::这样监听所有接口的服务。

5. lsof命令 - 文件级服务分析

通过打开的文件描述符分析服务:

# 查看所有打开网络连接的文件
lsof -i

# 查看特定端口关联进程
lsof -i :80

# 查看指定用户打开的文件
lsof -u www-data

高级用法:lsof +D /var/log可查看哪些进程正在写入日志目录。

最佳实践建议

  • 定期(如每周)全面检查服务器运行服务
  • 建立服务白名单机制,及时发现异常服务
  • 组合使用多种检测方法避免盲区
  • 对关键服务设置监控告警

通过掌握这些方法,您将能够像专业运维工程师一样全面掌控Linux云服务器的服务运行状态,及时发现并处理问题,确保业务稳定运行。

如本公告涉及你的产品,或有不清楚之处,可提交工单确认。

提交工单