Estoy tratando de ejecutar un comando de shell desde una aplicación java, en la plataforma GNU/Linux. El problema es que el script, que llama a otra aplicación Java, nunca termina, aunque se ejecuta correctamente desde bash. Intenté depurarlo:Ejecutando comandos de shell desde Java
(gdb) bt #0 0xb773d422 in __kernel_vsyscall() #1 0xb7709b5d in pthread_join (threadid=3063909232, thread_return=0xbf9cb678) at pthread_join.c:89 #2 0x0804dd78 in ContinueInNewThread() #3 0x080497f6 in main()
He intentado con: ProcessBuilder(); y Runtime.getRuntime(). exec (cmd);
Parece que espera a que termine algo. ¿Algunas ideas?
Gracias, Laurenţiu
¿Quiere decir que se espera que el segundo programa Java para terminar rápidamente, pero la cáscara que lo alega, todavía cuelga alrededor? ¿Has confirmado que el segundo proceso de Java está realmente terminado (listado del proceso de cheking)? –
Sí, verifiqué la lista de procesos y el proceso todavía está allí. Creo que Dsmith respondió mi pregunta. –
Parece que la clase Process de Java es terriblemente lenta. Inicié la aplicación java desde el shell con parámetros de producción (no detallados) y finalizó después de un tiempo. –