Systemctl status 始终显示完整日志,即使使用 --lines

Systemctl status 始终显示完整日志,即使使用 --lines

我正在尝试获取单位的状态,但只有前 3 行如下所示:

systemctl --user status resilio-sync --lines=3

我已经尝试了 -n 3 等的各种变体...,没有任何效果。奇怪的是:它总是显示完整的日志(13 行),而不是 10 行,根据文档,这应该是默认值系统控制

尝试systemctl status证实了这一点:它只是将所有 45 行输出到终端,而实际上应该是 10 行。

我在这里错过了什么吗?据我所知我没有改变任何东西。

作为我目前正在使用的解决方法:

systemctl --user status resilio-sync | sed -ne '1,3p'

但我宁愿解决根本问题并使用本机命令。系统是 Raspberry Pi 上的 Kali Linux(re4son-kernel,粘手指)(很容易归咎于这个奇怪的设置,但由于这是核心 Linux 功能,我认为这不重要)

第一个命令的输出

答案1

该命令systemctl status显示服务的状态以及来自日志的相应行journalctl,这--lines=3会将日志中显示的行数限制为 3。例如:

systemctl --user status resilio-sync --lines=0

将仅显示服务状态esilio-sync而不显示journalctl日志。

-n,--行=

当与地位, 控制日记帐行数显示,从最近的开始计数。采用正整数参数,或者0 禁用日志输出。默认为 10。

要限制命令的输出,systemctl status您可以使用选项:

systemctl check resilio-sync
systemctl is-active resilio-sync
systemctl is-enabled resilio-sync

或通过对选项进行分组:

systemctl is-active is-enabled resilio-sync

答案2

这就是 head 命令的设计目的。

systemctl --user status resilio-sync | head -n 3

相关内容