Hola,

estoy intentando encontrar un mecanismo lo más sencillo posible que me
permita ejecutar comandos de la shell (tipo commands.getoutput(...), etc.)
pero de tal forma que si el comando tarda más de un cierto número de
segundos en terminar, se pueda matar. En otras palabras, hacer un kill del
proceso hijo.

Tengo un 'legacy code' que lo hace, combinando os.fork() con os.execvp()
En pocas palabras, se hace un pid = fork(), en uno de los hilos se llama a
la shell con os.execvp() y en el otro hilo se cuenta el tiempo. Si se supera
el limite de tiempo se hace os.kill(pid)


Me gustaría refactorizar ese código heredado:

  - quiero usar subprocess() en lugar de execvp()
  - threads si es posible. Le tengo cierta alergia al fork.


Si alguien tiene un link a documentación donde pueda leer cómo matar
subprocesos después de un timeout, estaré muy agradecido. Lo que he
encontrado en la web (principalmente stackoverflow) no me ayuda mucho.


Muchas gracias por adelantado.
Saludos,
Jose
_______________________________________________
Python-es mailing list
Python-es@python.org
http://mail.python.org/mailman/listinfo/python-es
FAQ: http://python-es-faq.wikidot.com/

Responder a