Foros del Web » Programación para mayores de 30 ;) » Java »

[SOLUCIONADO] ¿Como saber cuando una ejecucion externa ha terminado?

Estas en el tema de ¿Como saber cuando una ejecucion externa ha terminado? en el foro de Java en Foros del Web. Buenas compañeros, pues el caso es que tengo una pequeña aplicación java que básicamente lo que hace es ejecutar varios .exe. Mi pregunta es ¿como ...
  #1 (permalink)  
Antiguo 23/03/2015, 03:41
 
Fecha de Ingreso: enero-2015
Ubicación: Madrid
Mensajes: 76
Antigüedad: 9 años, 10 meses
Puntos: 5
¿Como saber cuando una ejecucion externa ha terminado?

Buenas compañeros, pues el caso es que tengo una pequeña aplicación java que básicamente lo que hace es ejecutar varios .exe.

Mi pregunta es ¿como puedo saber cuando una ejecución externa ha terminado?

La ejecucion la hago asi:
Código PHP:
Runtime aplicacion Runtime.getRuntime(); 
            for (
File fileSeleccionado1 arrayListFileSeleccionado) {
                
aplicacion.exec(fileSeleccionado1.getAbsolutePath()); 
            } 
La única forma que se me ocurre seria que esta ejecución la haga desde un hilo y sincronizar el método, o mediante algún monitor, semáforo...etc.

¿Alguien tiene una idea mas coherente?

No sé no me parece adecuada mi solución...

Un saludo a todos.
  #2 (permalink)  
Antiguo 23/03/2015, 04:37
 
Fecha de Ingreso: enero-2015
Ubicación: Madrid
Mensajes: 76
Antigüedad: 9 años, 10 meses
Puntos: 5
¿Como saber cuando una ejecucion externa ha terminado?

Vale pues tampoco me sirve ejecutando los .exe desde hilos, una cosa es que la llamada al
Código PHP:
aplicacion.exec("Aplicacion.exe"); 
termine, y otra es que la ejecucion haya terminado realmente... Creo que voy a replantear la aplicacion.

Si se os ocurre alguna forma de hacerlo comentad! Gracias a todos.
  #3 (permalink)  
Antiguo 23/03/2015, 06:17
Avatar de Profesor_Falken  
Fecha de Ingreso: agosto-2014
Ubicación: Mountain View
Mensajes: 1.323
Antigüedad: 10 años, 3 meses
Puntos: 182
Respuesta: ¿Como saber cuando una ejecucion externa ha terminado?

Buenas,

De memoria (lo tienes que probar) diría que puedes indicar al thread que lanza la aplicación que espere el retorno de ésta.
Es algo así como:

Código Java:
Ver original
  1. Runtime rt = Runtime.getRuntime();
  2. Process proc = rt.exec("Aplicacion.exe");
  3. int exitVal = proc.waitFor();
http://docs.oracle.com/javase/7/docs...g/Process.html

Un saludo
__________________
If to err is human, then programmers are the most human of us
  #4 (permalink)  
Antiguo 23/03/2015, 09:06
 
Fecha de Ingreso: enero-2015
Ubicación: Madrid
Mensajes: 76
Antigüedad: 9 años, 10 meses
Puntos: 5
Respuesta: ¿Como saber cuando una ejecucion externa ha terminado?

Muchas gracias, hace lo que necesitaba, espera a que termine para ejecutar el siguiente .exe.


Un saludo!

Etiquetas: ejecucion, externa
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 10:22.