2012-02-14 30 views
5

Avevo un programma che raschiava determinati dati da determinate pagine Web e quando le pagine Web cambiavano, agiva di conseguenza.Python: esecuzione di processi daemon in Windows7

Come si configura il programma in modo che continui a funzionare in background?

Non ho bisogno di alcun specifiche

Sono solo molto confuso su questo concetto e apprezzerei qualunque nessuno aiuto ha da offrire.

+1

Nei sistemi multitasking di oggi, c'è poca differenza tra "primo piano" e "sfondo", i programmi sono appena eseguiti. Che sistema stai usando? (È importante) –

+0

Dai uno sguardo alla [risposta] (http://stackoverflow.com/questions/12843903/how-to-start-daemon-process-from-python-on-windows/12844523#12844523) –

risposta

0

Se si vuole essere in grado di avviare solo il processo e lo hanno sfondo stesso e fare un paio di cose più tipiche che i processi "demone" fare in Unix, guarda qui: How do you create a daemon in Python?

-1

Hai semplicemente bisogno di lasciare la vostra programma in esecuzione! Per favore google "python daemon" e vedere come implementare un processo in background persistente in Python.

Ora, non è possibile sapere quando un sito Web cambia a meno che non lo si effettui. Se il sito web è ben progettato, la pagina che stai cercando di sondare avrà un'intestazione "Last-Modified", puoi fare una richiesta "HEAD" ogni tanto (sii gentile: non sondare come un matto) e agire quando Last -Modificato è> = rispetto a quello registrato. Se il sito non è ben progettato, non avrà un'intestazione Last-Modified o ETAG affidabile, in questo caso dovrai analizzare manualmente e verificare personalmente le modifiche.

Cheers.

0

Non esiste alcun concetto di "sfondo" in Windows. Ma il concetto di shell UNIX di un processo in background può essere ragionevolmente emulato eseguendo il tuo script Python come un servizio di Windows. Ci sono un paio di suggerimenti in questa domanda: Is it possible to run a Python script as a service in Windows? If possible, how?

Per uso occasionale, suggerisco di imparare come usare srvany dalla seconda risposta.

10

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

pythonw significa senza console.

start significa iniziare sullo sfondo.

se il pitone è installato a livello di sistema, probabilmente si può start your-code.pyw

.pyw è legato al pythonw.exe

ricordate non è possibile utilizzare la stampa (allo stdout) in questo caso.

+3

beh, tu __can__ usi la stampa, semplicemente non la vedrai ... – Endophage

+1

Ho avuto problemi che ogni stampa ha generato un'eccezione. Un altro sviluppatore ha lasciato le stampe ovunque e lo stdout è stato chiuso/disconnesso. –

+0

Questo apre un'altra finestra della riga di comando in windows8.1, non funziona in background: / – Karavana

Problemi correlati