Hola a todos!!

Tengo la siguiente duda.

Necesito lanzar un proceso que quede residente en memoria y que cada cierto tiempo ejecute algo, debería quedar tipo demonio de linux o tipo TSR (Terminate and Stay Resident).
Utilizo python 2.6 sobre Windows 7.
Mirad el siguiente ejemplo,

#leer_com.py###########################
import threading, time
def espera():
    while True:
        time.sleep(15)
        # comprobaciones varias
        # etc
        print "comprobando..."
p = threading.Thread(target = espera,)
p.setDaemon(True)
p.start()
######################################

Si lo ejecuto en una shell de python, sin problema, cada 15 segundos me ejecuta la función espera, mientras tanto yo puedo seguir trabajando con cualquier cosa desde esa misma shell. Ahora bien, si lo ejecuto desde una línea de comandos del sistema, ej.: c:\>python leer_com.py acaba el programa y no hace nada de nada. Lo he convertido a ejecutable con py2exe y más de lo mismo, no funciona. Si hago p.join() en el script queda en espera pero no vuelve al interprete de comandos
que lo que yo necesito. Necesito lanzarlo y a ejecutar otra cosa.
Espero haberme explicado bien.

Saludos.
Marco.
_______________________________________________
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