Systemd systemctl列出Linux上所有失败的单元/服务
时间:2020-01-09 10:43:49 来源:igfitidea点击:
在Linux上使用systemd时,是否有命令可以列出所有失败的单元或者服务?
您能告诉我systemctl命令列出Linux上所有失败的服务吗?
本快速教程介绍了如何使用systemctl命令在Linux操作系统上查找/列出所有失败的systemd服务/单元。
Systemd systemctl列出所有失败的单元/服务命令
systemctl命令用于控制systemd系统和服务管理。
要列出systemd当前在内存中的单元,请在Linux上按如下所示将list-units参数传递给systemctl:
sudo systemctl list-units --failed ## 或者 sudo systemctl list-units --state failed
systemctl命令选项以列出所有失败的单元/服务
关于失败选项的注释
我们可以检查Linux下任何指定的单元或者服务是否处于失败状态。
如果至少一个失败,则以下命令返回退出代码0,否则返回非零。
除非将--quiet
选项传递给systemctl命令,否则这还将把当前设备状态打印到标准输出中。
因此,如果您知道服务或者单元名称,请尝试以下命令:
sudo systemctl is-failed {service-name-here} sudo systemctl is-failed nginx.service sudo systemctl is-failed vboxweb.service
另一个选择是运行以下简单命令以及grep命令,以使用systemctl列出失败的服务:
sudo systemctl list-units | grep -i failed
如何查找系统单元或者服务的状态
传递status
选项,如下所示:
sudo systemctl status {service-name} sudo systemctl status ssh.service sudo systemctl status nginx.service sudo systemctl status vboxweb.service
显示服务单元的属性
运行以下命令:
sudo systemctl show {service-name} sudo systemctl show vboxweb.service
如何查看日志消息
日志消息可以提供有关可用于调试问题的服务的深入信息。
语法如下:
显示所有讯息
journalctl journalctl | grep 'error'
仅显示内核消息
journalctl -k
在屏幕上查看实时消息
journalctl -f
如何仅查看特定于服务的消息
journalctl -u {service-name-here} journalctl -u ssh.service journalctl -u vboxweb.service