Problema con la captura de excepciones en python..
Publicado por Alberto (2 intervenciones) el 03/04/2008 03:19:25
Muy buenas,
Mi problema es el siguiente; ejecuto un comando python desde Java, y la aplicación Java se queda esperando a que termine el proceso de python.
El programa de python durante su ejecución lanza un thread que tiene un tiempo determinado para realizar su trabajo, y llegado a ese límite, el proceso padre lo corta y termina.
El problema es que si ejecuto el programa desde un shell / ventana Ms-dos, funciona a la perfección; el thread se corta al llegar a X tiempo de ejecución y el programa termina, pero si lo ejecuto desde JAva (exactamente la misma línea de código), el programa no tiene límite de tiempo; el thread no se corta y no termina hasta que le da la gana.
¿Alguien sabe porqué esa diferencia según cómo se llame a python? Al terminar, el thread, da una excepción, que debe de ser donde esté el quiz de la cuestión.
¿Cuál es la mejor/más rápida forma de capturar excepciones aunque no se haga nada realmente con ellas después?
Un saludo,
Alberto.
Mi problema es el siguiente; ejecuto un comando python desde Java, y la aplicación Java se queda esperando a que termine el proceso de python.
El programa de python durante su ejecución lanza un thread que tiene un tiempo determinado para realizar su trabajo, y llegado a ese límite, el proceso padre lo corta y termina.
El problema es que si ejecuto el programa desde un shell / ventana Ms-dos, funciona a la perfección; el thread se corta al llegar a X tiempo de ejecución y el programa termina, pero si lo ejecuto desde JAva (exactamente la misma línea de código), el programa no tiene límite de tiempo; el thread no se corta y no termina hasta que le da la gana.
¿Alguien sabe porqué esa diferencia según cómo se llame a python? Al terminar, el thread, da una excepción, que debe de ser donde esté el quiz de la cuestión.
¿Cuál es la mejor/más rápida forma de capturar excepciones aunque no se haga nada realmente con ellas después?
Un saludo,
Alberto.
Valora esta pregunta


0