Der Systemctl-Status zeigt immer das vollständige Protokoll an, auch mit --lines

Der Systemctl-Status zeigt immer das vollständige Protokoll an, auch mit --lines

Ich versuche, den Status einer Einheit abzurufen, bekomme aber nur die ersten drei Zeilen angezeigt, wie diese:

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

Ich habe verschiedene Varianten davon ausprobiert, mit -n 3 usw., nichts funktioniert. Und das Seltsame daran: Es wird immer das vollständige Protokoll (13 Zeilen) angezeigt, statt 10 Zeilen, was laut der Dokumentation für der Standard sein sollte.systemctl.

Ein Versuch systemctl statusbestätigt dies: Es werden einfach alle 45 Zeilen an das Terminal ausgegeben, obwohl es eigentlich 10 sein sollten.

Übersehe ich hier etwas? Soweit ich weiß, habe ich nichts geändert.

Als Workaround verwende ich derzeit:

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

aber ich würde lieber das zugrunde liegende Problem beheben und den nativen Befehl verwenden. Das System ist Kali Linux (re4son-kernel, klebrige Finger) auf einem Raspberry Pi (die Schuld dafür kann man leicht diesem seltsamen Setup zuschreiben, aber da dies eine Kernfunktionalität von Linux ist, denke ich, dass das keine Rolle spielen sollte)

Ausgabe des ersten Befehls

Antwort1

Der Befehl systemctl statuszeigt den Status des Dienstes und die dazugehörigen Zeilen an journalctl, dadurch --lines=3wird die angezeigte Zeilenanzahl aus dem Journal auf 3 begrenzt. zB:

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

zeigt nur den Dienststatus esilio-syncohne journalctlProtokoll an.

-n, --lines=

Bei Verwendung mitStatus, Bedienelementedie Anzahl der Journalzeilenanzuzeigen, beginnend mit den aktuellsten. Nimmt ein positives ganzzahliges Argument an oder0, um die Journalausgabe zu deaktivieren. Der Standardwert ist 10.

Um die Ausgabe des systemctl statusBefehls einzuschränken, können Sie Optionen verwenden:

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

oder durch Gruppieren der Optionen:

systemctl is-active is-enabled resilio-sync

Antwort2

Zu diesem Zweck wurde der Head-Befehl entwickelt.

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

verwandte Informationen