运行 systemctl 与 systemctl status

运行 systemctl 与 systemctl status

我知道 systemctl 本身应该为我提供所有正在运行的服务,并且使用 systemctl status (带有应用程序名称,即 foobar)为我提供有关该服务的更多详细信息。不过我注意到我也可以运行 systemctl status 并获取输出,但它与 systemctl 本身不同。

那么它显示的是什么呢?

似乎它默认显示降级的服务:

State: degraded
 Jobs: 0 queued

Failed: 3 units
Since: Sun 2016-03-27 01:42:15 UTC; 2h 49min ago

答案1

如果不带参数执行systemctl,则默认行为是systemctl list-units

systemctl联机帮助页:

list-units [PATTERN...]

列出已知单位(受 指定的限制的约束-t)。如果指定了一个或多个 PATTERN,则仅显示与其中之一匹配的单元。

这是默认命令。

如果您指定该选项status

status [PATTERN...|PID...]

显示有关一个或多个单元的简洁运行时状态信息,后跟日志中的最新日志数据。如果未指定单位,则显示系统状态。如果与 结合使用--all,还显示所有单元的状态(受 指定的限制的约束-t)。如果传递了 PID,则显示有关进程所属单元的信息。

此函数旨在生成人类可读的输出。如果您正在寻找计算机可解析的输出,请使用 show 代替。默认情况下,此函数仅显示 10 行输出,并省略行以适合终端窗口。这可以使用--lines和进行更改--full,请参见上文。另外,journalctl --unit=NAME或者journalctl --user-unit=NAME使用类似的消息过滤器可能会更方便。

相关内容