当前位置: 首页 > news >正文

Linux服务器查看启动服务的5种方法

文章目录

      • 1. 使用 `systemctl` 命令(推荐,适用于使用 systemd 的系统)
        • 查看所有已激活(运行中)的服务
        • 查看所有已启用(开机自启)的服务
        • 查看所有服务的综合状态(包括运行和未运行)
      • 2. 使用 `service` 命令(传统SysVinit系统,或兼容模式)
        • 查看所有服务状态
        • 查看特定服务状态
      • 3. 检查监听的网络端口(间接查看网络服务)
      • 4. 查看开机自启服务(SysVinit风格)
      • 5. 查看进程(最底层方法)
      • 总结与建议

在Linux服务器上,有多种方法可以查看当前系统启动了哪些服务。以下是最常用和有效的几种命令,适用于大多数主流Linux发行版(如CentOS, Ubuntu, Debian等)。


1. 使用 systemctl 命令(推荐,适用于使用 systemd 的系统)

现代Linux发行版大多使用 systemd 作为初始化系统和服务管理器。

查看所有已激活(运行中)的服务
systemctl list-units --type=service --state=active

或简写:

systemctl --type=service --state=active
查看所有已启用(开机自启)的服务
systemctl list-unit-files --type=service --state=enabled
查看所有服务的综合状态(包括运行和未运行)
systemctl list-units --type=service

说明

  • active 状态表示服务当前正在运行。
  • enabled 表示服务设置为开机自启动。
  • loaded 表示服务配置已加载。

2. 使用 service 命令(传统SysVinit系统,或兼容模式)

虽然较老,但在许多系统上仍然可用。

查看所有服务状态
service --status-all
  • [ + ] 表示服务正在运行。
  • [ - ] 表示服务未运行。
  • [ ? ] 表示状态未知。
查看特定服务状态
service <service_name> status
# 例如:
service sshd status
service nginx status

3. 检查监听的网络端口(间接查看网络服务)

许多服务会监听特定的端口。通过查看监听的端口,可以推断哪些网络服务已启动。

# 使用 netstat (需安装 net-tools)
netstat -tuln# 或使用 ss (更现代,推荐)
ss -tuln
  • -t:显示TCP端口
  • -u:显示UDP端口
  • -l:仅显示监听状态的端口
  • -n:以数字形式显示端口号和IP地址(不解析名称)

示例输出解读

tcp    0    0 0.0.0.0:22    0.0.0.0:*    LISTEN    # 表示SSH服务在运行
tcp    0    0 0.0.0.0:80    0.0.0.0:*    LISTEN    # 表示Web服务(如Nginx/Apache)在运行

4. 查看开机自启服务(SysVinit风格)

对于仍使用SysVinit的系统,或查看传统服务的开机启动项:

# CentOS/RHEL
chkconfig --list# Ubuntu/Debian
ls /etc/rc*.d/S*

5. 查看进程(最底层方法)

直接查看正在运行的进程,可以找到服务相关的进程。

# 查看所有进程
ps aux# 或结合grep过滤特定服务
ps aux | grep nginx
ps aux | grep mysql

总结与建议

方法优点推荐场景
systemctl list-units --type=service --state=active最准确、最标准首选方法,查看当前运行的服务
systemctl list-unit-files --type=service --state=enabled查看开机自启服务检查哪些服务会随系统启动
ss -tuln查看网络服务监听情况快速判断Web、数据库等网络服务是否启动
service --status-all兼容性好在较老系统或快速检查时使用

推荐操作流程

  1. 首先使用 systemctl --type=service --state=active 查看当前运行的服务。
  2. 使用 ss -tuln 验证关键网络服务(如SSH、Web、数据库)是否在监听端口。
  3. 如需了解开机启动项,使用 systemctl list-unit-files --type=service --state=enabled

这样可以全面、准确地掌握服务器上运行的服务情况。

http://www.dtcms.com/a/346188.html

相关文章:

  • 基于RBAC的权限控制:从表设计到接口实现全指南
  • Beszel 服务器监控平台使用教程
  • JVM虚拟机
  • Leetcode—1683. 无效的推文【简单】
  • 网络与信息安全有哪些岗位:(7)等级保护测评师
  • tensorflow-gpu 2.7下的tensorboard与profiler插件版本问题
  • 第九章 Leaflet 实战:多边形绘制工具开发与面积实时计算(含双击报错修复方案)
  • Qt QML实现 无边框圆角窗口拖动(附窗口控制按钮)
  • RAG初筛方案实例验证-多种BM25方案
  • 类器官培养基系列,助力高效医学研究
  • Navicat连接MySQL-出现1045无法连接问题
  • AI实验管理神器:WandB全功能解析
  • 【python】os.mkdir() 和 os.makedirs()区别
  • 数学建模-灰色关联分析
  • map_set
  • Trie 树(字典树)
  • Rust 入门 注释和文档之 cargo doc (二十三)
  • 51单片机-中断系统
  • 【数据分享】各省及全国GDP增长指数(1980-2022)
  • 彻底解决 Windows 文件扩展名隐藏问题,注册表修改显示文件后缀方法
  • More Effective C++ 条款01:仔细区别 pointers 和 references
  • 构建城市数字孪生底座:深度解析智慧城市全景视频拼接融合解决方案
  • constraint_mode使用
  • 【Python】两条命令永久切国内源
  • Android 16环境开发的一些记录
  • C语言中的CSI_START和CSI_END宏
  • 拿到手一个前端项目,应该如何启动
  • 多目标跟踪中基于目标威胁度评估的传感器控制方法复现
  • lanczos算法学习笔记
  • 【GM3568JHF】FPGA+ARM异构开发板 测试命令