Matar procesos en java

CarlosF
21 de Abril del 2005
Hola, mi problema es q tengo 2 clases una llamada Proceso y q extiende de JFrame, esta su funcion solo es mostrarse y esperar mensajes en su Socket y la 2 es un Servidor q lanza la clase Proceso con una instancia de Runtime y de Process de la siguiente forma:
"java Proceso", el problema es q cuanddo cierro la clase proceso con su boton de cerrar quedan en memoria muchos "java.exe" y la idea es q mande al proceso un mensaje de cerrarse pero tambien cierre su correspondiente "java.exe", no se si alguien pueda ayudarme.

chuidiang
21 de Abril del 2005
Hola:

En Proceso, que es JFrame, ponle esto al JFrame.

frame.setDefaultCloseOperation (JFrame.EXIT_ON_CLOSE);
(No sé si te lo he puesto bien, tendrás que verificarlo en la API).

Con esto el JFrame hará que se salga completamente el programa al pinchar.

En cuanto al programa que lanza a Proceso, con el Process que obtienes, haz la siguiente llamada

Process p = Runtime.getRuntime().exec("java Proceso");
p.waitFor();
System.exit(0);

waitFor() espera a que se termine "java Proceso". Luego se sale él con System.exit(0).

Si este programa no puede quedarse a la espera (es decir, después de lanzar Proceso debe hacer más cosas), debes hacer esto con un hilo aparte.

Se bueno.