你的Ubuntu Linux发行版上的各种服务在后台运行,作为一个系统管理员,你需要能够查看所有的服务,包括系统服务,如进程管理、登录、cron jobs和syslog。Ubuntu允许你通过特定的命令来列出所有这些服务。
后台进程或系统程序也是 "守护神"。这些服务负责系统如何工作以及如何与其他程序连接。当在Linux环境下工作时,比如Ubuntu,你可以使用一个服务管理器来方便地控制所有的系统服务。进程管理器 "systemd "现在被大多数最近的Linux发行版所使用,包括Ubuntu。在Ubuntu系统中,systemd是默认的服务管理器,取代了旧的init进程。
本文将重点讨论Ubuntu中用于列出服务的命令。那么,我们开始吧。
在Ubuntu中使用systemctl命令列出服务
systemctl是一个用于维护系统服务的工具,其一般语法如下。
$ systemctl [OPTIONS] <COMMAND>
当systemctl命令不含选项时,它将列出所有Ubuntu服务。执行下面的命令可以得到所有服务的列表。
$ systemctl --no-pager
在输出中,我们将得到以下信息。
UNIT:显示systemd单元名称的相应细节。
LOAD:显示该单元的相关信息,即该单元当前是否加载在内存中。
ACTIVE:检查系统单元的激活状态。
SUB:检查系统单元的运行状态
DESCRIPTION:提供关于单元的详细信息
列出所有单元文件
单元文件是纯文本的ini风格的文件,包含被监视的文件系统路径、启动目标、套接字、设备、挂载点和系统控制的定时器的信息,运行下面的命令,用systemctl列出所有单元文件。
$ systemctl list-units --all --type=service --no-pager
列出systemd单元文件
下面的命令不会显示所有可访问的systemd单元文件的类型和运行状态,而是会显示。使用上述命令列出所有系统单元文件。
$ systemctl list-unit-files --no-pager
搜索特定单元文件。以 下是使用 "grep "搜索特定单元文件的语法。
$ systemctl list-unit-files --no-pager | grep service_name
如果你想搜索 "snapd",请运行下面提到的命令。
$ systemctl list-unit-files --no-pager | grep snapd
以上输出显示了所有与 "snapd "服务相关的单元文件。
按状态(启用/禁用)列出 systemd 服务单元文件
在Ubuntu上,systemctl命令将显示所有启用的systemd单元文件的信息,具体命令如下。
$ systemctl list-unit-files | grep enabled
在Ubuntu上,systemctl命令会显示所有禁用的systemd单元文件的信息,具体命令如下。
$ systemctl list-unit-files | grep disabled
列出所有活动和运行的服务
要列出所有运行中的服务,请执行下面提到的命令。
$ systemctl list-units --all --type=services --no-pager | grep running
列出所有兴奋的服务
要列出所有兴奋的服务,请运行下面提到的命令,兴奋的服务是没有找到任何守护进程的活跃服务。
$ systemctl list-units --all --type=services --no-pager | grep excited
输出结果显示,目前系统中没有兴奋服务。
列出所有死亡的服务
要列出所有死亡的服务,请运行下面提到的命令。
$ systemctl list-units --all --type=services --no-pager | grep dead
在Ubuntu中使用pstree命令列出服务
要列出Ubuntu中所有正在运行的服务,请运行下面提到的命令。
$ pstree
如何列出顶级控制组的资源利用情况
运行下面提到的命令,用 "systemd-cgtop "列出顶级控制组。
$ systemd-cgtop
结论
在Ubuntu系统中,有许多服务是在后台工作的。这些服务也被称为 "守护神",它们描述了系统的工作方式。我们可以通过终端的不同命令来列出Ubuntu的服务。在这篇文章中,我们讨论了使用 "systemctl "命令列出单元文件、运行、兴奋、死亡、启用和禁用服务。还提到了使用 "pstree "命令列出服务。在理解了这篇文章之后,你将能够成功地列出不同的Ubuntu服务。