Respostas:
Você poderia algo assim
top -p `pgrep -d ',' "java|tomcat|redis|mysql|mongo"`
Isso pgrep
produz uma lista separada por vírgula de pid's que são passados paratop -p
Não é exatamente o que você está procurando, mas às vezes um processo é executado por seu próprio usuário, como o apache2 geralmente é executado pelo usuário www-data.
Você pode usar isso para limitar a saída do topo apenas aos processos desse usuário, mostrando efetivamente apenas os processos apache2 usando este comando:
top -u www-data
Confira a página de manual do manual superior para obter mais detalhes sobre o utilitário principal ...
Semms você precisa do parâmetro -p
-p: monitora PIDs como: -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.
Tente o seguinte:
alias mytop='echo $(sed "s/\([0-9]*\)/-p \1/g;s/^/top /" <(pgrep -d" " "java|redis|mysql|mongo"))'
mytop