Antworten:
Sie könnten zu so etwas
top -p `pgrep -d ',' "java|tomcat|redis|mysql|mongo"`
Dadurch wird pgrep
eine durch Kommas getrennte Liste von PIDs erstellt, an die übergeben wirdtop -p
Nicht ganz das, wonach Sie suchen, aber manchmal wird ein Prozess von seinem eigenen Benutzer ausgeführt, wie Apache2 häufig von Benutzer www-data ausgeführt wird.
Sie können dies verwenden, um die Ausgabe von top nur auf die Prozesse dieses Benutzers zu beschränken und mit diesem Befehl effektiv nur Apache2-Prozesse anzuzeigen:
top -u www-data
Weitere Informationen zum Top-Dienstprogramm finden Sie auf der Man-Top- Handbuchseite.
Semms Sie benötigen -p Parameter
-p: PIDs überwachen als: -pN1 -pN2 ... oder -pN1, N2 [, ...]
Monitor only processes with specified process IDs. This option can be given up to 20 times, or you can provide a comma delimited list with up to 20 pids. Co-mingling both approaches is permitted.
Versuche dies:
alias mytop='echo $(sed "s/\([0-9]*\)/-p \1/g;s/^/top /" <(pgrep -d" " "java|redis|mysql|mongo"))'
mytop