GNU/Linux >> LINUX-Kenntnisse >  >> Linux

Warum gibt slabtop -o nur die ersten 23 Zeilen zurück, wenn der Befehl weitergeleitet wird?

slabtop , auch mit -o , beschränkt sich immer auf einen Bildschirminhalt der Ausgabe. Normalerweise fragt es das Terminal nach seiner Größe, aber wenn seine Standardausgabe kein Terminal ist, nimmt es an, dass der Bildschirm 80 Spalten mal 24 Zeilen hat und nur 23 Zeilen ausgibt (um Scrollen zu vermeiden).

Dies wurde seitdem behoben, und der Fix ist in procps-ng enthalten 3.3.13 und höher.


Es ist nur fest programmiert, auf diese Weise zu arbeiten, wenn die Ausgabe kein Terminal ist.

Wenn Sie dennoch die Umleitung verwenden und mehr Zeilen erhalten möchten, können Sie script verwenden um slabtop auszutricksen zu denken, dass die Ausgabe auf dem Terminal gedruckt wird. Sie können stty hinzufügen Darüber hinaus können Sie Pseudo-Terminal-Parameter ändern und Ihr eigenes Limit für Ausgabeleitungen festlegen.

# slabtop -o | wc -l
23
# script -q -c "slabtop -o" /dev/null | wc -l
46
# script -q -c "stty rows 999; slabtop -o" /dev/null | wc -l
147

Alternativ können Sie Ihre Informationen auch direkt bei /proc/slabinfo abrufen Datei, die auch von slabtop verwendet wird selbst.


Linux
  1. Warum gibt Find -mtime +1 nur Dateien zurück, die älter als 2 Tage sind?

  2. Warum verschlingt die Shell-Befehlsersetzung ein nachgestelltes Newline-Zeichen?

  3. Warum wacht der Bildschirmschoner bei der Verwendung von Vlc immer wieder auf?

  4. Bash-Time-Keyword-Ergebnis nur mit zweitem Pipe-Befehl, erklären Sie warum?

  5. Wie wird der Platzhalter * als Befehl interpretiert?

Werden die ersten Zeichen des Befehls beim Beenden im Display wiederholt?

Im Befehlsverlauf scheinen die ersten 75 Zeilen zu fehlen?

Warum springt der Cursor beim Tippen?

Auslassen der ersten Zeile in jeder Linux-Befehlsausgabe

Warum wird diese Shell-Pipeline beendet?

Warum generiert Clang bei der Weiterleitung unverständlichen Text?