Vollständiger Benutzername oben

8

Auf unseren Systemen können Benutzernamen bis zu 20 Zeichen lang sein. Die topBefehle zeigen jedoch nur die ersten 8 Zeichen an.

Wie kann ich konfigurieren top, dass der gesamte Benutzername angezeigt wird?

Im Moment verwenden wir: Top Procps Version 3.2.8 (Linux)

Es könnte jedoch eine andere Top-Implementierung installiert werden.

Das älteste System, das wir unterstützen müssen, ist das folgende:

Linux foohost 2.6.37.1-1.2-desktop #1 SMP PREEMPT 2011-02-21 10:34:10 +0100 x86_64 x86_64 x86_64 GNU/Linux
guettli
quelle
1
Auf welcher Plattform bist du? Verwenden Sieuname -a
Kevdog777
1
@ Kevdog777 Ich habe die Frage aktualisiert und hinzugefügtuname -a
guettli

Antworten:

6

Betrachtet man die Quellen von top, so scheint es, dass es maximal 8 Zeichen gibt:

1223    static FLD_t Fieldstab[] = {
1229          keys   head           fmts     width   scale  sort   desc                     lflg
1230         ------  -----------    -------  ------  -----  -----  ----------------------   -------- */
1235       { "EeDd", " USER    ",   " %-8.8s",  -1,    -1, SF(URE), "User Name",            L_EUSER  },

Die fmtsSpalte ist eine printfFormatzeichenfolge. %-8.8sbedeutet links gepolsterte Saite mit einer minimalen und maximalen Größe von 8.

rzymek
quelle
2

Es sieht so aus, als ob es derzeit keine Möglichkeit gibt, dies zu tun, wie Sie es mit Terminalprogrammen anfordern. Was Sie fragen, ist nicht neu und steht tatsächlich auf der htopListe der Funktionsanfragen. Dies ist jedoch seit anderthalb Jahren der Fall, und es wurde noch kein Meilenstein festgelegt, um dies umzusetzen. Davon überhaupt keine Spur top. 2 Optionen könnten sein:

1) Zwei Klemmen

Sie können top mitteilen (z. B. können Sie es fwährend der Ausführung verwenden ), um die UID und nicht den Namen anzuzeigen . Wenn Sie Ihr Terminal in zwei Felder aufgeteilt haben, z. B. mit terminatoroder screen, können Sie im oberen größeren Bildschirm oben ausgeführt und im unteren z. B. nach dem Benutzernamen gefragt werden

awk -v val=1000 -F ":" '$3==val{print $1}' /etc/passwd

Ersetzen Sie die gewünschte UID durch 1000. Natürlich können Sie sie auch in ein sehr kleines Bash-Skript einbinden, sodass Sie nur einige Buchstaben Ihres Skriptnamens und der UID eingeben sollten. Auch wenn Sie über nicht lokale Benutzer sprechen, können Sie getent passwdals Eingabe für awk anstelle der Datei / etc / passwd verwenden - wie folgt:

getent passwd | awk -v val=1000 -F ":" '$3==val{print $1}'

2) ps Option

Sie können ps verwenden, um 15 der CPU-schwersten Prozesse zu ermitteln und zu ermitteln, wem sie gehören. Sie können natürlich die Anzahl der Prozesse variieren.

ps -ef | egrep -v "STIME|$LOGNAME" | sort -k4 -r | head -n 15 | colrm 100

Erläuterung:

ps -ef                     gives you all processes 
egrep -v "STIME|$LOGNAME"  removes the header line
sort -k4 -r                sorts by the CPU column in reverse (biggest on top)
head -n 15                 gives you first 15 lines of above
colrm 100                  restricts each line of output to 100 characters 

Der letzte Befehl ist nützlich, da einige Programme wie Google Chrome sehr lange Optionszeilen nach dem Befehl haben, sodass Ihre Ausgabe schwer zu lesen ist, wenn Sie die Zeilen nicht schneiden.

r0berts
quelle
2

Ich kann Ihnen mit älteren 3.2.x-Versionen von procps nicht wirklich helfen, aber in neueren (z. B. definitiv 3.3.10 und ich denke, es ging auf 3.3.4 zurück) können Sie die Größe fester Spalten anpassen. Der Schlüssel, den Sie suchen, ist Kapital X.

Um diese Funktion zu verwenden, starten Sie zuerst oben. Idealerweise, aber nicht unbedingt erforderlich, "schaffen" Sie Platz für Ihre Spalte, indem Sie entweder andere Spalten entfernen oder Ihr Terminal erweitern. Verwenden Sie f, um Ihre Feldliste aufzurufen und die Auswahl aufzuheben, die Sie nicht benötigen. Wenn Sie mit der Feldauswahl zufrieden sind, drücken Sie q, um zur Prozessliste zurückzukehren.

Verwenden Sie dann den Befehl X, mit dem Sie gefragt werden, um wie viel die Breite vergrößert werden soll. Im Allgemeinen funktioniert -1 in Ordnung. Möglicherweise erhalten Sie diesen seltsamen "Spaltenwachstumseffekt", aber nach einigen Änderungen können Sie den vollständigen Benutzernamen sehen.

  PID USER          PR    VIRT    RES    SHR S  %CPU %MEM     TIME+ COMMAND     
 3775 libvirt-qemu  20 4667404 960508  14724 S   6.1  5.9 188:04.01 qemu-syste+ 
 3825 Debian-gdm    20 1516152 114924  64404 S   2.7  0.7   1:52.09 gnome-shell 

Beachten Sie, dass der Befehlsname jetzt abgeschnitten ist (endet mit einem +), da unser Benutzername länger ist und die anderen Spalten nach rechts verschoben wurden. Ob Sie dies für eine gute Idee halten oder nicht, hängt davon ab, wonach Sie suchen.

Craig Small
quelle