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: -pid
si no hayjava
procesos vivos.
EXPLICACIÓN
Las otras soluciones publicadas aquí usan el formato top -p id1,id2,id3
, pero MacOS top
solo 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 awk
que 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 sed
para recortar los 6 caracteres finales del delimitador.
| sed 's/.\{6\}$//'`
Estamos listos para pasar los resultados a top
:
top -pid `...`