Wie zeige ich nur Prozesse, die nicht mit einem Filter übereinstimmen?

12

Ich verwende htop, um meine Prozesse interaktiv zu überwachen.

Manchmal stören jedoch einige Prozesse und ich möchte sie herausfiltern.

Leider scheint es mir mit dem in htop integrierten Filter (z. B. F4) nur möglich zu sein, einen positiven Filter zu definieren (nur Übereinstimmungen werden angezeigt) und keine negativen Filter (alle außer Übereinstimmungen werden angezeigt).

Schließlich habe ich keine Dokumentation über die tatsächliche Syntax der Suchzeichenfolge gefunden ( reguläre Ausdrücke scheinen nicht zu funktionieren).

umläute
quelle
AFAIK ist nicht möglich. Gibt es einen guten Grund, Top nicht zu verwenden? Sie können es leicht damit machen.
sebelk
Die FWIW-Htop-Filterung sollte bald eine Regex-Filterung erhalten. Auf GitHub gibt es eine vollständige, wenn auch noch nicht zusammengeführte Pull-Anfrage. github.com/hishamhm/htop/pull/428
Richard Michael

Antworten:

5

Ich weiß nicht , ob es machbar ist mit , htopaber wenn eine andere Verwendung topImplementierung ist eine Option, mit der topImplementierung in procpsLinux ( in der Regel die Standardimplementierung gibt), von innen top, können Sie

  1. eingeben o(oder Ofür Matching zwischen Groß- und Kleinschreibung unterscheiden)
  2. eingeben !COMMAND=notwanted(oder !USER=unwanted)

um die Prozesse herauszufiltern, deren Name (oder Befehlszeile nach dem Drücken c) enthält notwanted(oder deren Benutzername enthält unwanted). Geben Sie ein =, um alle Filter zu entfernen.

Sie können nach beliebigen Feldern filtern, jedoch nur, wenn diese angezeigt werden. Um beispielsweise Kernel-Tasks auszuschließen, können Sie CODEdie Anzeige der Spalte (mit f) anfordern und dann nach CODE>0(mit o) filtern .

Beachten Sie, dass die Standardschnittstelle dieser topImplementierung möglicherweise gröber aussieht als die von htop, aber tatsächlich viel mehr Funktionen bietet (und Sie können sie bei Bedarf mit Farbe und zusätzlichen Informationen konfigurieren).

Stéphane Chazelas
quelle
2

Ich kenne keinen direkten Weg mit htop

Möglicherweise können Sie jedoch die Negationsfähigkeiten von nutzen pgrepund eine PID-Liste an diese weiterleitenhtop

Etwas wie

htop -p "$(pgrep -vfd, 'java|python')"

Dies hat den offensichtlichen Nachteil, nicht für Prozesse , die Bilanzierung nach dem Start zu htoplaufen beginnt

iruvar
quelle
1
gute Idee, aber was ich wirklich tun möchte, ist "Müll" -Prozesse herauszufiltern, wenn ich sie sehe; Ihre Lösung ist also in diesem Sinne nicht wirklich "interaktiv" ...
umläute