Matar procesos en java
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.
"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.
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.
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.