[Python] Python come servizio sotto Ubuntu Server
Dario Concilio
dario.concilio a hotmail.it
Ven 18 Apr 2014 17:09:15 CEST
> > Aggiungo solo che su Linux non c'è un servizio init standard.
> > Su archlinux usano systemd, che sembra sia la moda del momento.
> > Su Ubuntu usano upstart, ma in futuro passerà a systemd.
> >
> > Quindi ti suggerisco di leggere la documentazione di systemd.
>
> Sapevo che questo qualcuno l'avrebbe puntualizzato. Cambia poco: il suo
> programma deve ricevere gli stessi segnali. Sulla versione ubuntu che
> lui usa c'è ancora upstart: installare systemd da backport è rognoso,
> quindi non ne vale la pena sbattersi.
ok ragazzi, diciamo che l'ho "imbastito" così:Ha senso? Chiaramente modifico poi il conf file sotto init import signal
import time
import multiprocessing
import logging event = multiprocessing.Event()
log = logging() def stopHandler(signum, frame):
''' Chiudo le connessioni con le seriali e websocket anche se credo di aver capito che dal TERM in poi se ne occupa ubuntu di chiudere tutto '''
log.info("Chiusura del servizio")
event.set()
signal.signal(signal.SIGTERM, stopHandler) if __name__ == '__main__':
log.info("Avvio del servizio")
while not event.is_set():
#Eseguo l'init dei miei thread secondari
log.info("Thread secondari inizializzati")
#Tutta la logica nelle librerie correlate dei threads
[...]
-------------- parte successiva --------------
Un allegato HTML è stato rimosso...
URL: <http://lists.python.it/pipermail/python/attachments/20140418/7779f794/attachment-0001.html>
Maggiori informazioni sulla lista
Python