[Python-es] Lanzar aplicación como demonio
marco
python en diezplus.com
Mar Mar 1 19:21:22 CET 2011
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.
Más información sobre la lista de distribución Python-es