systemd是所有现代Linux发行版的默认init系统,它附带一个名为systemctl的命令行实用程序。它用于管理systemd单元,也是检查单元状态的关键方法。在本教程中,我将介绍如何列出Linux上的失败单元以及如何修复它们。
如何在Linux上使用systemctl命令显示失败的单元
在Linux上,该单元经常由于各种原因而失败,例如:
- 缺少依赖项
- 配置不正确
- 损坏的文件
- 系统资源不足
- 缺乏必要的权限
要解决这个问题,我们必须通过列出故障单元来找出它们。
要列出Linux上的失败单元,请使用systemctl和list—units命令。接下来,使用—state选项将单元的状态设置为失败。
systemctl list—units——state =失败
输出显示myservice unit已加载但失败。另一种检查单元是否激活失败的方法,使用以下命令。
systemctl is—failed [单元名称]
或者,您可以在引导后使用日志目录检查设备的状态。
系统控制状态[设备名称]
grep命令也可以与systemctl一起使用以列出失败的单元。
系统列表单元|grep—我失败了
如何在Linux上修复失败的单元
要修复Linux上的所有故障单元,reset—failed命令与systemctl一起使用。
SUDO系统控制重置-失败
要修复Linux上的特定故障单元,请在RESET-FAILED命令后提及服务或单元名称。
SUDO系统控制重置失败[设备名称]
上面的命令不会显示任何输出。带有单元名称的状态选项可让您知道服务是否正在运行。
系统控制状态[设备名称]
可以看出,服务不再处于失败状态。但它是加载和非活动状态。要激活单元,我们需要启动它,为此使用sudo systemctl以单元的名称开始。启动后,检查设备的状态。
同样值得注意的是,服务故障是由多种因素引起的。如果启动机组出现异常或机组超时,则重置失败将重置机组并进行修复。如果您缺少所需的依赖项,则只需安装依赖项即可修复设备。此外,如果配置文件有问题,则Reset-Failure不会纠正它,因为它必须手动处理。
如何删除失败的单元
如果服务仍然无法摆脱失败状态,则需要进一步排除故障。若要诊断问题,最佳做法是查看设备的日志消息。
为了查看设备的日志,systemd提供了一个名为journalctl的内置实用程序。要查看特定单元的日志,请使用下面给出的命令:
journalctl—u [单元名称]—xe
在上面的命令中,—x标志用于显示完整的目录,—e用于显示最后一个条目。
因此,为了进一步调查故障单元的原因,我们可以在日志文件中查看错误。
结论
在Linux上,由于各种原因,一些常见的原因是不正确的配置或服务的异常启动。为了调试单元的故障,首先,我们必须使用systemctl lits—units列出它们,并提到故障状态。然后,为了进一步排除故障,还可以检查状态和日志消息。为了修复服务的故障状态,请使用systemctl reset—failed命令,该命令在出现临时异常时重置设备的故障状态。然而,要知道设备故障的确切原因,设备的日志消息可以提供有用的信息。