[pyar] Mejor forma de generar pid files?

Alberto Bertogli albertito en blitiri.com.ar
Lun Dic 13 13:47:55 ART 2010


On Mon, Dec 13, 2010 at 11:22:55AM -0300, Eka (Esteban Feldman) wrote:
> 2010/12/13 Andrés Gattinoni <andresgattinoni en gmail.com>
> 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?

La idea esta bien, pero lo de popen con ps no (es muy fragil, por
ejemplo no tenes por que tener ps).

Si queres ver si un proceso esta corriendo, podes hacer os.kill(pid, 0),
y si funciona es que esta vivo y tenes permisos para mandarle una señal,
sino tira una excepcion (no recuerdo cual).


Cualquiera sea la forma que elijas (pidfile, socket unix, etc.) recorda
que en general es deseable que la aplicación, por mas que quieras
permitir una sola instancia por desktop, puede ser ejecutada por mas de
un usuario en la misma compu (ya sea clientes remotos, user switch o
alguna otra cosa), asi que fijate de que te quede por usuario y no algo
global al sistema.


Gracias,
		Alberto




More information about the pyar mailing list