2012-01-29 20 views
5

Tengo una secuencia de comandos python que hace uso de multiprocesamiento. Me gusta depurar mis scripts en Eclipse, pero con multiprocesamiento, siempre tengo que eliminar manualmente los procesos hijos engendrados después de la finalización. ¿Cómo puedo capturar la acción de terminación de Eclipse en el script para que pueda limpiar?¿Cómo atrapar la terminación de ejecución de Eclipse pydev?

+0

¿Pudiste resolver esto? cualquier trabajo alrededor? – gsagrawal

Respuesta

3

Al capturar la terminación del eclipse, ¿te refieres a detectar el evento de alguien presionando el botón "Terminar" mientras se depura? Si es así, no creo que haya una excepción o evento que pueda atrapar.

Aquí hay algunas cosas que probé por un lado que tampoco funciona: 1. Agregando manejadores de señal para SIGTERM, SIGNTEAL y SIGINT, pero no tuve suerte. 2. Pruebe el módulo atexit, solo funciona solo la terminación normal del programa.

+2

La razón por la que esto no funciona es que Eclipse insiste en enviar SIGKILL en lugar de SIGTERM, lo que dará por terminada su aplicación sin darle la oportunidad de manejarlo, vea también http://stackoverflow.com/questions/677531/is-it -posible-para-eclipse-para-terminar-suavemente-en vez-de-usar-sigkill –

Cuestiones relacionadas