Wie erhalte ich den Befehl "top", um die Ausgabe umzubrechen?


20

Die Spalte "Befehl" wird durch die Breite des Bildschirms abgeschnitten, und ich kann den letzten Teil des Bildschirms nicht sehen.

Ich habe versucht, die Schriftgröße zu verringern, damit ein längerer Teil der Befehlszeile angezeigt wird, aber das geht immer noch nicht.


Welcher Befehl generiert Ihre Ausgabe?

Ich weiß, dass dies Ihre Frage nicht direkt beantwortet, aber ich würde nach htopeiner viel schöneren Schnittstelle suchen top. Sie können mit den Pfeiltasten scrollen.

Können Sie erklären, warum das Reduzieren der Schriftgröße nicht funktioniert hat?
Stephen Quan

es funktioniert aber nicht genug für mich, um die ganze Zeile zu sehen .. die Befehlszeile ist ziemlich lang
sureshvv

Antworten:


10

top -bcn1 -w512

Die elegante Lösung besteht darin, die Option zu verwenden . Laut Manpage beträgt die maximale Breite 512 Zeichen, sodass Sie für alles, was darüber hinausgeht, eine andere Lösung benötigen. Vermutlich möchten Sie auch die gesamte Länge der Befehle sehen, nutzen Sie also die Option. Wir müssen im "Batch-Modus" laufen , sonst werden die Befehle weiterhin mit einem "+" abgeschnitten. Der Batch-Modus führt zu einem Durcheinander, da alle Jobs pro Sekunde gedruckt werden , sodass wir die Option verwenden können, um nur eine Instanz auszudrucken.-w [number]-ctop-b-n1

Weitere Informationen finden Sie auf der Man-Top- Seite.


1
Sie müssen die Manpage auf Ihrem System überprüfen. Diese Optionen sind nicht in allen Versionen von vorhanden top.
Scott

20

Das Befehlsfeld wird zur besseren Lesbarkeit standardmäßig automatisch abgeschnitten.

Du musst rennen

top -c

Um den vollständigen Befehl anzuzeigen, können Sie je nach den Funktionen Ihres Konsolenfensters nach rechts scrollen und den vollständigen Befehl anzeigen.


Das zeigt standardmäßig nur die vollständige Befehlszeile an - oder tatsächlich, was auch immer in einer Zeile sichtbar gemacht werden kann. Ich sehe keine Scrollfähigkeit. Wollen Sie damit sagen, dass ich mein Fenster nur auf eine größere Breite einstellen muss?

Ja, das fängt mal an. Welche Art von Fenster verwenden Sie? ist es ein Putty, Dos Befehlsterminal, Gnome Terminal? Mit einer dieser Optionen können Sie horizontal scrollen.
Ringträger

in PuTTY kein horizontales Scrollen zu sehen
bbodenmiller

8

Wie Daniel Arndt sagte, können Sie auch htop anstelle von top verwenden. Es ist heutzutage in allen Distributionen verfügbar und bietet bessere Nummern (insbesondere für die Speichernutzung).

Es ist auch viel einfacher zu bedienen und schöner zu sehen, auch wenn es auf die Farben des Terminals beschränkt ist. Sie können zum Beispiel nach rechts scrollen, um den vollständigen Befehl anzuzeigen, oder Sie können einen Prozess mit einem einfachen F9 beenden. Sie können den vollständigen Baum auch mit der Taste 't' anzeigen.


Dies ist keine Antwort auf die Frage, sondern ein Vorschlag für ein anderes Programm. htopist zwar ein nettes programm aber die frage ging um tops ausgabe. Bitte bleiben Sie beim Thema.
Trommelfeuer

2
Das Anbieten von Alternativen zu @drumfire ist absolut gültig und thematisch. Dies dürfte daran zu erkennen sein, dass das OP diese Antwort vor fast drei Jahren akzeptiert hat.
Terdon

3

Das ist hacky, aber Sie können das Verhalten ändern, indem Sie die Shell-Variablen $ COLUMNS und $ LINES anpassen, bevor Sie top starten:

export COLUMNS=$((COLUMNS*2))
export LINES=$((LINES/2))
top

Dies wird die Shell davon überzeugen, dass Sie doppelt so viele Spalten zum Schreiben haben (und halb so viele Zeilen, um dies auszugleichen). Wenn Sie bash verwenden, können Sie das Programm im shopt -s checkwinsizeVoraus ausführen , um diese Werte neu zu berechnen, sobald top beendet wird. Andernfalls können Sie diese Werte einfach sichern / wiederherstellen (oder die Größe des Fensters ändern).


0

Sie könnten einen Stapelbildschirm entwerfen, der top -b -n 1 und ps enthält , zum Beispiel:

while (true)
do
  clear
  top -b -n 1
  ps
  sleep 5
done

Dies erledigt die Anzeige von:

  • PID
  • Zentralprozessor
  • Nicht verkürzte Befehlszeile

0

Möglicherweise möchten Sie dies ausprobieren. Dadurch wird die einzige Instanz topmit fester Breite gedruckt und beendet, sodass Sie die Ausgabe erhalten können.

top -n1 -w80

Sie können die Ausgabe sogar in eine Datei umleiten.

top -n1 -w80 > top_output.txt

0

Versuchen Sie, die Breite der Bildschirmausgabe mit dem folgenden Befehl zu erhöhen.

export COLUMNS = 197 top -u -cbn1> top.output

Hier ist 197 nur eine Variable. Erhöhen Sie den Wert entsprechend Ihren Anforderungen und der von Ihnen gewünschten detaillierten Ausgabe.

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.