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/
