[pyar] Mejor forma de generar pid files?

Eka (Esteban Feldman) ekagaurangadas en gmail.com
Lun Dic 13 12:46:29 ART 2010


2010/12/13 Andrés Gattinoni <andresgattinoni en gmail.com>

> 2010/12/13 Eka (Esteban Feldman) <ekagaurangadas en gmail.com>:
> > Andres: de la docu: Note: the functions registered via this module are
> not
> > called when the program is killed by a signal not handled by Python, when
> a
> > Python fatal internal error is detected, or when os._exit() is called.
> >
> > Mi idea es, cuando se ejecuta de nuevo el programa, ver si existe el
> > archivo, leer el pid y ver si realmente esta corriendo, dado que pudo no
> > haber borrado el pid file.
> >
> > Eso parece bien? Uso Popen con ps?
>
> Otra opción que podés usar es psutil [0] para hacer lo mismo pero más
> pythónicametne.
>
> Por otro lado, si lo que querés saber es si el programa está corriendo
> o no, una opción muy efectiva es usar un socket unix.
> Cuando corrés el programa hacés que chequee si se puede conectar al
> socket unix y si éste le contesta. Si no puede hacerlo, matá cualquier
> otra instancia del programa que pueda haber, se pone a escuchar en ese
> socket y hace lo que tenga que hacer. De esa manera no solamente te
> asegurás si el programa ya está corriendo, sino si está activo, porque
> podría darse el caso de que se cuelgue el proceso. Con lo cual en el
> ps te seguiría apareciendo, pero en la práctica no estaría haciendo
> nada.
>
> [0] http://code.google.com/p/psutil/
> _______________________________________________
> pyar mailing list pyar en python.org.ar
> http://listas.python.org.ar/listinfo/pyar
>
> PyAr - Python Argentina - Sitio web: http://www.python.org.ar/
>


me gusto la idea del socket, es para una app desktop que solo tenga 1
instancia corriendo.

-- 
Chant Hare Krishna and Be Happy

Eka
------------ próxima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: <http://listas.python.org.ar/pipermail/pyar/attachments/20101213/c3858005/attachment.html>


More information about the pyar mailing list