Wie kann ich Benutzer vom Linux-Hauptbildschirm ausschließen?

16

Auf dem topBildschirm werden standardmäßig alle Benutzerprozesse angezeigt. Wie kann man einige Benutzer (zum Beispiel root und nobody) vom oberen Echtzeitbildschirm ausschließen?

garconcn
quelle

Antworten:

16

Die richtige Antwort lautet: -U '!root'(oder -u '!root'auf einigen Ubuntus). Dies wurde in top v3.2.9 eingeführt:

man top für -U Option:

Das Voranstellen eines Ausrufezeichens ('!') Vor der Benutzer-ID oder dem Namen weist top an, nur Prozesse anzuzeigen, deren Benutzer nicht mit dem angegebenen übereinstimmen.

Denken Sie daran, das Ausrufezeichen und den Benutzernamen in einfache Anführungszeichen zu setzen.

Mailand
quelle
3
Bitte beachten Sie, dass dies auf den neueren Versionen von funktioniert top. 3.3.9 hat es, 3.2.8 nicht.
Deer Hunter
3
Seltsamerweise musste ich unter Ubuntu 14.04 -uanstelle von verwenden -U.
Muru
4
Ich musste verwenden top -u '!root', um das NICHT !von der Shell interpretieren zu lassen (ich glaube, das ist, was ohne die einfachen Anführungszeichen passiert).
Steveb
Interaktiv können Sie eingeben uund dann!root
Dr. Beco
2
Besser noch, fügen Sie einen Filter hinzu, um alle Systembenutzer auszuschließen, wie Ound zu filtern RUID>999. Sie müssen zuerst eine RUIDSpalte hinzufügen .
Dr. Beco
3

Ab Version 3.3 können Sie auch einfach uwährend der topAusführung eingeben und diese !rootZeichenfolge eingeben .

Dr. Bombay
quelle
2

top -U rootZeigt nur Prozesse von root an. Leider ist dies die einzige Option, um Benutzer gemäß der Manpage einzuschränken.

Tim
quelle
Wenn Sie jedoch von der Verwendung von top abweichen möchten, können Sie ps aux | grep -v $USERNAMEalle Prozesse außer dem von Ihnen angegebenen Benutzer anzeigen.
Tim
Vielen Dank. Ich kenne diese beiden Befehle. Ich habe gesucht, aber niemanden gefunden, der danach gefragt hat. top -u kann einen Benutzer sehen, aber ich möchte mehr Benutzer in Echtzeit sehen.
Garconcn
4
Nach oben | egrep -ve "(root | knoppix)"? Passen Sie diese an Ihre Anforderungen an.
Dtbnguyen
1

Wie von Dr. Beco oben vorgeschlagen, verwendet der allgemeinste Filtermechanismus 'o / O', um "Other Filtering" zu aktivieren, während er topmehr als einen Benutzer ausschließt / einschließt.

Um beispielsweise "root" und "nobody" auszuschließen, kann der Befehl verwendet werden o!USER=root<enter>o!USER=nobody.

Mit dieser Filteroption sind viele interessante Ansichten möglich!

Kapil
quelle
Ich denke, dies ist die einzige Antwort, die die Frage beantwortet: "Einige Benutzer ausschließen (z. B. root und nobody)", dh mehr als einen Benutzer ausschließen. Vielleicht war dies 2012 nicht möglich.
Ramashalanka