
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 status
bestä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)
Antwort1
Der Befehl systemctl status
zeigt den Status des Dienstes und die dazugehörigen Zeilen an journalctl
, dadurch --lines=3
wird die angezeigte Zeilenanzahl aus dem Journal auf 3 begrenzt. zB:
systemctl --user status resilio-sync --lines=0
zeigt nur den Dienststatus esilio-sync
ohne journalctl
Protokoll 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 status
Befehls 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