Réponses:
Vous pourriez à quelque chose comme ça
top -p `pgrep -d ',' "java|tomcat|redis|mysql|mongo"`
Cela permet pgrep
de produire une liste de pid séparés par des virgules qui sont passés àtop -p
Pas tout à fait ce que vous recherchez, mais parfois un processus est exécuté par son propre utilisateur, comme apache2 est souvent exécuté par l'utilisateur www-data.
Vous pouvez l'utiliser pour limiter la sortie de top aux seuls processus de cet utilisateur, en affichant uniquement les processus apache2 en utilisant cette commande:
top -u www-data
Consultez la page de manuel de man top pour plus de détails sur l'utilitaire top ...
Semms vous avez besoin du paramètre -p
-p: surveille les PID comme: -pN1 -pN2 ... ou -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.
Essaye ça:
alias mytop='echo $(sed "s/\([0-9]*\)/-p \1/g;s/^/top /" <(pgrep -d" " "java|redis|mysql|mongo"))'
mytop