web-dev-qa-db-ja.com

--ctlを使用しても、systemctlステータスは常に完全なログを表示します

ユニットのステータスを取得しようとしていますが、次のような最初の3行のみです。

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

-n 3などを使用してこれのさまざまなバリエーションを試しましたが、何も機能しません。そして奇妙な部分: systemctl のドキュメントによると、デフォルトであるはずの10行ではなく、常に完全なログ(13行)が表示されます。

systemctl statusこれを確認します。実際に10であるはずのときに、45行すべてをターミナルに出力します。

ここで何か不足していますか?私の知る限り、何も変更していません。

現在使用している回避策として:

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

しかし、根本的な問題を修正し、ネイティブコマンドを使用したいと思います。システムはRaspberry Pi上のKali Linux(re4son-kernel、sticky fingers)です(この奇妙なセットアップのせいにされがちですが、これはコアLinux機能であるため、重要ではないと思います)

Output of the first command

4
Bauglir42

コマンドsystemctl statusは、サービスのステータスとjournalctlからの対応する行を表示します。--lines=3は、ジャーナルから表示される行数を3に制限します。例:

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

journalctlログなしでesilio-syncサービスのステータスのみを表示します。

-n、-lines =

statusと共に使用すると、表示するジャーナル行の数を制御し、最新のものから数えます。正の整数引数、またはでジャーナル出力を無効にするを取ります。デフォルトは10です。

systemctl statusコマンドの出力を制限するには、オプションを使用できます。

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

またはオプションをグループ化することにより:

systemctl is-active is-enabled resilio-sync
7
GAD3R

これは、headコマンドが設計された目的です。

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