- 高级撰稿人
- 作者
Linux作为1991年诞生的开源软件系统,以其可靠性和灵活性著称,可运行于各类设备。其多功能性既支持独立使用,也能集成到大型网络系统中。
管理Linux服务对系统高效运行至关重要。与其他操作系统类似,Linux通过服务和后台进程执行系统运行期间的重要任务。系统启动时,这些服务会自动启动并持续运行直至系统关闭。
服务是持续运行的关键进程,支持远程管理,使Linux成为分布式系统的理想选择。用户还可在Ubuntu、Debian、CenOS等发行版中手动管理这些服务。
Linux常用功能之一是列出运行服务,这有助于系统监控和错误识别。该功能对故障排查和保障系统运行尤为重要。Linux 中的服务管理需理解服务在系统稳定性和功能性中的核心作用。高效的服务管理能确保应用程序顺畅运行,维护基于 Linux 的环境整体健康状态。
本教程将演示在 Linux 服务器上列出服务的最有效方法,并针对不同发行版和桌面环境进行适配。我们将重点探讨最常用的 systemctl 命令在列出 Linux 服务器服务中的应用。
Linux 系统提供广泛的系统服务,包括进程管理、登录功能、系统日志、cron以及各类网络服务,如远程登录、电子邮件、打印机、网页托管、数据存储、文件传输、通过 DNS 实现的域名解析、通过 DHCP 实现的动态 IP 地址分配等。
Linux 中的服务指进程或进程集,通常称为守护进程或服务。这些进程持续在后台运行,随时响应来自客户端的请求。
有效管理Linux服务是系统管理的重要任务,确保后台进程平稳运行。这些服务执行特定任务,对系统整体稳定性和功能性至关重要。为维持最佳系统性能,管理员需根据系统需求熟练地启动、停止或重启服务。
Linux 服务管理提供多种方法,包括启动、停止、重启以及配置系统启动时自动运行。通常这些操作通过进程或服务管理器实现,其中“systemd”已成为绝大多数现代 Linux 发行版的首选方案。
下文将列举 Ubuntu、Debian 和 CentOS 等 Linux 系统中的服务管理技术。
在广泛使用的Linux发行版Ubuntu中,系统管理员可通过多种方法列出当前运行服务。Ubuntu提供以下命令实现服务列表:
$ sudo service --status-all
该命令能有效列出Ubuntu系统中的所有服务及其当前状态,帮助用户监控和管理系统服务。
通过 systemctl 命令可显示 Linux 系统中所有服务的列表。当 systemctl 无参数调用时,它会全面展示已加载的 “systemd” 单元,涵盖活动与非活动服务。具体命令如下:
$ systemctl --no-pager
若需专门列出所有服务单元文件,可使用以下命令:
$ systemctl list-units --all --type=service --no-pager
若需同时列出所有活动与非活动服务,请使用:
$ systemctl list-units -a
列出非活动服务时,请使用:
$ systemctl list-units -a --state=inactive
输出包含以下信息列:UNIT、LOAD、ACTIVE、SUB 及服务 DESCRIPTION:
UNIT:显示“systemd”单元名称的详细信息。
LOAD:指示单元当前是否已加载到内存中。
ACTIVE: 指定“systemd”单元是否处于活动状态。
SUB: 显示“systemd”单元的运行状态。
DESCRIPTION: 提供单元的简要说明。
要显示Ubuntu系统上所有已启用的“systemd”单元文件信息,请使用以下systemctl命令:
$ systemctl list-unit-files | grep enabled
查看所有禁用单元文件详情请执行:
$ systemctl list-unit-files | grep disabled
需注意:标记为启用的服务将在系统重启时自动启动,参与启动流程。
在 Ubuntu Linux 服务器上列出所有运行中的服务,请使用以下命令:
$ systemctl --type=service --state=running
查看所有处于“已退出”状态的服务,请执行此命令:
$ systemctl list-units --all --type=service --no-pager | grep exited
要列出已停止或处于“死”状态的服务,请使用以下命令:
$ systemctl list-units --all --type=service --no-pager | grep dead
上述命令可在终端窗口中快速便捷地按服务状态(退出或死亡)显示服务列表。
在 Debian 中,遵循类似的服务管理原则可通过多种方式列出服务。管理员常使用以下命令在 Debian Linux 服务器中列出服务:
$ sudo systemctl list-units --type=service
该命令全面展示 Debian 中的活动服务,使管理员能有效监控和控制运行进程。
要列出 Linux 中同时处于活动状态的运行服务,请输入:
$ systemctl list-units --type=service --state=running
$ systemctl list-units --all --type=service --no-pager | grep running
若需在Debian/Ubuntu发行版中启用服务,请使用:
$ sudo systemctl enable 服务名称
此命令可使服务在系统启动时自动运行。
若需禁用服务,请使用此命令:
$ sudo systemctl disable 服务名称
启动服务请使用以下命令:
$ sudo systemctl start (服务名称)
该命令将立即手动启动指定服务。
停止服务请使用:
$ sudo systemctl stop 服务名称
该命令将立即终止运行中的服务,无需重启系统。
您也可重启运行中的服务。在 Ubuntu 中重启服务可使用以下命令:
$ sudo service {service-name} restart
要检查服务状态,请使用以下命令:
$ sudo systemctl status (ServiceName)
CentOS 是另一款以稳定可靠著称的开源 Linux 发行版。其列举服务的方法与上述操作类似。
在 CentOS 发行版中列举服务,请使用以下命令:
$ systemctl list-units --type=service --all
该命令将详细展示所有服务(包括活动与非活动状态),管理员可根据各服务状态采取相应措施,确保 CentOS 系统平稳运行。
若使用旧版 Linux 发行版,可通过 service 命令列出运行服务。
在终端中(或按下 “Ctrl+Alt+t”)执行以下命令,可在 CentOS 上显示运行服务:
$ sudo service --status-all
要打印计算机上服务的状态列表,请输入:
$ sudo service (服务名称) status
通过在服务名称后添加stop或start关键字,可使用上述命令停止或启动服务。
Ubuntu系统还提供其他命令列举不同服务。“pstree”命令可按树状结构列出所有运行服务,执行方式如下:
$ pstree
列出防火墙服务及端口时,请使用以下命令:
$ sudo firewall-cmd --list-services
$ sudo firewall-cmd --list-ports
若需按资源占用率显示顶级控制组,请使用“systemd-cgtop”命令:
$ systemd-cgtop
在早期Ubuntu发行版中,曾使用“service”命令列出所有系统服务:
$ service --status-all
在旧版 Ubuntu 系统中,也可直接列出 /etc/init.d 目录下的所有服务:
$ ls /etc/init.d
相较于过时的 “service” 等命令,systemctl 命令更具实用性。凭借其先进特性和在服务列举任务中的增强功能,最新 Ubuntu 发行版均采用 “systemctl” 命令。
本文演示了如何通过 systemctl 命令在 Ubuntu、Debian 和 CentOS 发行版中列出所有服务。Linux 系统存在多种获取运行中服务列表的解决方案或发行版,其中 “systemd” 通常被视为首选方案。
作为系统与服务管理器,Linux的“systemd”具备多项特性,包括并行服务启动、按需模块加载及套接字激活。通过配置单元文件,它能灵活管理服务行为,使用户可精确控制运行中的服务。
上述所有命令同样适用于VPS Linux服务器的运行服务列表查询。需注意各发行版存在独特操作机制。因此选择Linux VPS时,建议优先选用预装您偏好发行版的方案。BlueVPS支持自定义VPS安装的Linux发行版,让您能根据使用习惯与偏好灵活选择。若需深入了解BlueVPS的Linux VPS服务,欢迎随时联系我们。
Start for free and unlock high-performance infrastructure with instant setup.
您的意见有助于我们提供更好的服务。