No se muy bien como hacerlo con hilos estándar, pero con corutinas seria una
cosa así ( en realidad no cambia gran cosa):

https://bitbucket.org/denis/gevent/src/98918fc5ddd5/examples/dns_mass_resolve.py
<https://bitbucket.org/denis/gevent/src/98918fc5ddd5/examples/dns_mass_resolve.py>
http://www.gevent.org/

<http://www.gevent.org/>Un saludo.
Andrei.

El 16 de abril de 2011 00:30, Jose Caballero <[email protected]>escribió:

> 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
> [email protected]
> http://mail.python.org/mailman/listinfo/python-es
> FAQ: http://python-es-faq.wikidot.com/
>
>


-- 
http://twitter.com/andsux
http://www.niwi.be
****
http://www.freebsd.org/
http://www.postgresql.org/
http://www.python.org/
http://www.djangoproject.com/

"Linux is for people who hate Windows, BSD is for people who love UNIX"
"Social Engineer -> Because there is no patch for human stupidity"
_______________________________________________
Python-es mailing list
[email protected]
http://mail.python.org/mailman/listinfo/python-es
FAQ: http://python-es-faq.wikidot.com/

Responder a