Aquí está la única solución hasta ahora para MacOS:
top -pid `pgrep java | awk 'ORS=" -pid "' | sed 's/.\{6\}$//'`
aunque esto informará indeseablemente invalid option or syntax: -pidsi no hayjava procesos vivos.
EXPLICACIÓN
Las otras soluciones publicadas aquí usan el formato top -p id1,id2,id3, pero MacOS topsolo admite el formato difícil de manejartop -pid id1 -pid id2 -pid id3 .
Entonces, en primer lugar, obtenemos la lista de identificadores de proceso que tienen el nombre de proceso "java":
pgrep java
y canalizamos esto a lo awkque une los resultados con delimitador" -pid "
| awk 'ORS=" -pid "'
¡Ay, esto deja un delimitador final! Por ejemplo, es posible que hasta ahora hayamos obtenido la cadena"123 -pid 456 -pid 789 -pid " .
Luego solo usamos sedpara recortar los 6 caracteres finales del delimitador.
| sed 's/.\{6\}$//'`
Estamos listos para pasar los resultados a top:
top -pid `...`