2012-02-14 22 views
5

Tenía un programa que recortaba ciertos datos de ciertas páginas web y, cuando las páginas web cambiaban, actuaba en consecuencia.Python: Ejecución de procesos Daemon en Windows 7

¿Cómo se configuraría el programa para que continúe ejecutándose en segundo plano?

No necesito ningún detalles

sólo estoy realmente confundido en este concepto y agradecería cualquier ayuda que nadie tiene que ofrecer.

+1

En los sistemas multitarea de hoy en día, hay muy poca diferencia entre el "primer plano" y el "fondo", los programas recién se ejecutan. ¿Qué sistema estás usando? (Importa). –

+0

Eche un vistazo a la [respuesta] (http://stackoverflow.com/questions/12843903/how-to-start-daemon-process-from-python-on-windows/12844523#12844523) –

Respuesta

0

Si usted quiere ser capaz de simplemente iniciar su proceso y tenerlo fondo a sí mismo y hacer algunas cosas más típicas que los procesos de "demonio" pueden hacer en Unix, mira aquí: How do you create a daemon in Python?

-1

Usted sólo tendrá que salir de su programa en ejecución! Por favor, googlee "daemon python" y vea cómo implementar un proceso de fondo persistente en Python.

Ahora, no puede saber cuándo cambia un sitio web a menos que lo sondee. Si el sitio web está bien diseñado, la página que está intentando sondear tendrá un encabezado "Última modificación", puede hacer una solicitud "CABEZA" cada cierto tiempo (sea amable: no sondee como loco) y actúe cuando Último -Modificado es> = que el registrado. Si el sitio no está bien diseñado, no tendrá un encabezado Last-Modified o ETAG confiable, en ese caso deberá analizar manualmente y verificar los cambios usted mismo.

Saludos.

0

No existe un concepto de "fondo" en Windows. Pero el concepto de shell de UNIX de un proceso en segundo plano se puede emular de forma razonable ejecutando el script de Python como un servicio de Windows. Hay un par de sugerencias en esta pregunta: Is it possible to run a Python script as a service in Windows? If possible, how?

Para uso casual, sugiero que aprenda a usar srvany a partir de la segunda respuesta.

10

start path-to-pythonw.exe your-code.py

pythonw significa sin consola.

inicio significa iniciar en el fondo.

si su pitón está instalado en todo el sistema, es probable que pueda start your-code.pyw

.pyw está asociado con pythonw.exe

recordar que no se puede utilizar de impresión (la salida estándar) en este caso.

+3

bueno, __puedes usar print, simplemente no lo verás ... – Endophage

+1

Me encontré con problemas de que cada impresión arrojaba una excepción. Otro desarrollador dejó impresiones en todo el lugar y stdout siendo cerrado/desconectado hizo un lanzamiento de pitón. –

+0

Esto abre otra ventana de línea de comandos en windows8.1, no está funcionando en segundo plano: / – Karavana