In htop -u
dem 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 pidof
werden.
Wenn mehr als eine Instanz eines Befehls ausgeführt wird, wird pidof
eine durch Leerzeichen getrennte Liste von PIDs zurückgegeben. Die -p
Option erfordert jedoch eine durch Kommas getrennte Liste. Daher pidof
muss 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 sed
Stapelbearbeitung denke, könnte in diesem Fall der einfachere tr
Befehl verwendet werden:
htop -p $(pidof "$1" | tr ' ' ',')
Beachten Sie, dass GUI-Systemmonitore wie qps
und ksysguard
die 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).