系统ctl是一个命令行实用程序,用于监视和管理系统服务。其中,SYSTEM D是所有现代Linux发行版中使用的服务管理器。在本指南中,我将介绍如何使用带有状态选项的systemctl命令来检查Linux上各种系统服务的状态。
注意:本教程中给出的指令和命令在Ubuntu上执行。但是,这些命令在systemd init system附带的Linux发行版上运行,没有任何错误。
如何使用systemctl status命令
systemctl在所有带有systemd服务管理器的Linux发行版中都可用。因此,不需要为它安装任何特定的包。
systemctl有多种选项,其中一个广泛使用的选项是status。systemctl status选项用于查找单元或整个系统的当前运行时状态。
在systemd中,单元被称为执行特定任务的对象。单元可以是服务、设备或套接字。要列出所有单位,请使用systemctl—t help命令。
请注意,状态函数仅提供关于当前在内存中或最近从内存中释放的单元的信息。使用此功能将不会显示上一会话的信息。
下面给出了使用systemctl status命令的一般语法:
systemctl状态[unit_name]
如前所述,单元可以是服务、套接字或设备。
例如,要查找作为守护程序服务的sshd的状态,请使用下面提到的命令。
系统控制状态sshd
上面给出的数据是人类可读的形式。您将获得活动和加载状态。此外,该命令还列出了单元的PID、内存和CPU使用情况。
已加载:它表明单元已加载到内存中。
加载国家 | |
错误 | 如果文件没有正确加载到内存中 |
未找到的 | 如果服务不存在 |
环境不佳 | 如果单元文件没有正确解析 |
蒙面 | 如果单元文件被屏蔽(禁用) |
这个状态还显示了存储在/lib/systemd/system中的单元的路径和单元的启用状态。启用可以是启用的、禁用的和静态的。
能力国家 | |
启用 | 启动时启用该设备 |
残疾 | 启动时未启用设备 |
静态 | 无法在Linux上启用该单元 |
活动:它显示活动状态,具有各种指示。
主动型 | 设备处于活动状态(已启动、已绑定、已插入)并且正在运行 |
非活动 | 单位不活跃 |
正在激活 | 单位处于激活状态 |
停用 | 该单元处于停用状态 |
失败 | 由于崩溃、超时错误,设备无法激活 |
命令:它提供了一个命令,用于单位的文档。
主PID:显示机组的运行过程。
任务:任务是一个单元完成的工作单元,限制是一个特定单元可以执行的最大任务数。
内存:表示单元的内存使用情况。
CPU:它显示单位的CPU使用情况。
CGroup:也称为控制组,是一个内核特性,用于控制单元占用的RAM和CPU等资源。
系统ctl状态命令的状态指示
systemctl status输出显示有关单元状态的各种指示。如果它处于活动状态,则会出现一个绿点,如果它处于非活动状态,则会在输出中显示一个白点。
错误或失败的单位将以红十字的形式显示。如果服务处于重新加载状态,则它将显示为绿色顺时针箭头。
systemctl status命令的限制
systemctl status命令并不一定能为您提供最准确的输出,说明设备是否在引导时加载。因为systemd在需要时加载单元,所以如果你试图查找卸载单元的状态,或者在引导后从内存中加载并删除的单元,那么命令将显示错误。因此,您将无法获得存在但在操作完成后释放到内存中的单元的信息。
如何退出系统ctl状态命令
执行systemctl status命令后,终端似乎冻结。这是因为命令的分页输出。
要退出systemctl状态,有多种方法。
- 在命令后添加—no—pager
- 使用q键
- 使用Ctrl + C
在systemctl status命令之后添加—no—pager,它将自动删除分页。
系统状态sshd——无寻呼机
或者只需按Q键即可退出系统ctl状态命令。
结论
systemctl status命令用于检查systemd单元的状态。在Linux上,这些单元可以是设备、套接字或服务。单位可以有活动,不活动,死或失败的状态。此命令还提供了单元加载状态、进程ID、内存和CPU使用情况等信息。但是,systemctl status命令对于查找单元的负载状态没有帮助。因为一个单元可以在其操作完成后被systemd卸载。