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 htop
Liste 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 f
wä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 terminator
oder 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 passwd
als 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.
uname -a