Linux So öffnen Sie bestimmte Befehle

480
Mike

Linux Centos 6,64

Ich verwende den folgenden Befehl zum Anzeigen von htop in der Befehlsspalte

htop -u Befehl

Wie kann ich nur einen bestimmten Befehl anzeigen, den ich aus der Liste der ausgeführten Befehle auswähle?

Vielen Dank

0

1 Antwort auf die Frage

2
AFH

In htop -udem Parameter ist ein Benutzername, kein Befehl.

Die einzige Option zum Überwachen eines bestimmten Befehls ist -p, dies erfordert jedoch eine PID. Daher muss der Befehlsname zuerst in eine PID konvertiert pidofwerden.

Wenn mehr als eine Instanz eines Befehls ausgeführt wird, wird pidofeine durch Leerzeichen getrennte Liste von PIDs zurückgegeben. Die -pOption erfordert jedoch eine durch Kommas getrennte Liste. Daher pidofmuss die Ausgabe konvertiert werden:

htop -p $(pidof command | sed 's/ /,/g') 

Dies wird am besten in eine Funktion oder ein Skript integriert. In diesem Fall lautet der Befehl:

htop -p $(pidof "$1" | sed 's/ /,/g') 

Obwohl ich zuerst an die sedStapelbearbeitung denke, könnte in diesem Fall der einfachere trBefehl verwendet werden:

htop -p $(pidof "$1" | tr ' ' ',') 

Beachten Sie, dass GUI-Systemmonitore wie qpsund ksysguarddie Ausgabe filtern und bestimmte Befehle direkt anzeigen können (obwohl der textbasierte Filter möglicherweise auch den Befehlsnamen enthält, wenn er in der Parameterliste eines anderen Befehls angezeigt wird).

Hallo AFH, danke für deine Antwort. Bei den von Ihnen vorgeschlagenen Befehlen wurde die folgende Meldung "Fehler: unbekanntes Flag: -p" angezeigt. Mike vor 6 Jahren 0
Sie müssen eine andere Version von "htop" haben: Mein ist 2.0.1, wie von "htop -v" gezeigt. AFH vor 6 Jahren 0
Hallo, habe es aktualisiert, es funktioniert jetzt, vielen Dank! Mike vor 6 Jahren 0