Buscar
Social
Ofertas laborales ES

Foro sobre Java SE > Cambiar nombre de proceso java

Tengo varios servidores de Minecraft, que es un juego escrito enteramente en java, y para iniciar cada servidor (en la misma maquina) uso un comando del tipo java -jar -Xmx15G spigot.jar, y luego con el comando top puedo ver la cantidad de ram y cpu que se esta consumiendo, pero tengo un problema, todos los procesos de los servidores aparecen como java, asi que aunque se que hay 1 servidor o 2 que consumen mucho ams que el resto me gustaria poder identificarlos, pero por mas que busco no encuentro la manera de poder cambiar el nombre o añadir algo que los identifique, si me pudieran ayudar se lo agradeceria inmensamente.

Un saludo

noviembre 4, 2013 | Unregistered CommenterMacf

No hay una solución "buena".
Lo único que se me ocurre es que, dentro de cada "servidor" obtengas el PID mediante:

RuntimeMXBean bean = ManagementFactory.getRuntimeMXBean();
String jvmName = bean.getName();
long pid = Long.valueOf(jvmName.split("@")[0]);

Con eso obtienes el ID de proceso de cada "servidor" ejecutándose.

Si almacenas en un archivo de propiedades, el nombre del servidor y su PID, por ejemplo:

servidor1=8765
servidor2=8976

Puedes consultarlo, desde donde prefieras.

Claro que, siempre que se inicia un nuevo servidor, o se cierra uno abierto, debes actualizar ese archivo de propiedades.

noviembre 5, 2013 | Registered Commenterchoces