Problemas leyendo streams en objeto process

k1ke
17 de Junio del 2005
Buenas!!

Esot ejecutando un programa desde java utilizando método exec de la clase Runtime y el objeto process para controlar el proceso.

Aparte tengo un hilo que controla que la ejecución del anterior programa no supere un cierto timeout. Si supera un timeout tengo que matar el proceso (sólo se me ha ocurrido utilizar el método destroy de la clase Process) y el problema que tengo es que una vez que ejecuto el método destroy no puedo leer los streams, inputstream y outputstreams están vacíos y a mí me interesa leer estos streams aunque el programa no haya terminado su ejecución.

Alguien tiene alguna idea?
A alguien se le ocurre alguna forma de matar el proceso que no sea con destroy?
Hay alguna otra manera de ejecutar un programa que no sea con Runtime y exec?
En definitiva lo que quiero es ejecutar y leer la salida tanto si la ejecución es completa como si se ha detenido por alguna razón.

Muchas gracias,
Kike

chuidiang
17 de Junio del 2005
Hola:

El stream esta conectado con el proceso. Si matas el proceso, se cierra el stream y obviamente no puede leer.

Debes leer antes de matar el proceso.

Se bueno.

rubece
17 de Junio del 2005
Bueno creo que la solución es bastante fácil si no lo puedes hacer después pues hazlo antes. Lee los streams antes de matar el proceso y después máta al proceso. Eso es todo. Que te vaya bien. Hasta luego.