[Python-es] matar una llamada a la shell si tarda demasiado tiempo en terminar

Javier Collado javier.collado en gmail.com
Sab Abr 16 01:24:18 CEST 2011


Hola,

El día 16 de abril de 2011 00:30, Jose Caballero
<jcaballero.hep en gmail.com> escribió:
> 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.

Una solución sería lanzar el proceso en el hilo y esperar al hilo con
join el tiempo que se necesite antes de matar el proceso si éste no ha
terminado a tiempo:
http://stackoverflow.com/questions/1191374/subprocess-with-timeout/4825933#4825933

Un saludo,
    Javier


Más información sobre la lista de distribución Python-es