Programa en ejecuciòn

Jesus Cea Avion jcea en argo.es
Mie Ago 18 12:37:42 CEST 2004


> La existencia de ese fichero se comprueba en el arranque, y si existe
> se comprueba que el proceso con ese id está en ejecución.

Dado que los PID se reutilizan, eso no es a prueba de bomba.

Opino que lo más sencillo y portable es simplemente intentar abrir un
fichero en modo escritura e intentar ponerle un "lock" exclusivo encima.
Si puedes, has ganado. Si no puedes, es que hay otro proceso ya lanzado.

Si el proceso original muere de forma "desordenada", el sistema
operativo se encarga ya de eliminar el "lock", por lo que el sistema sí
es a prueba de bomba.

Esto funciona incluso con sistemas de ficheros en red, si son lo
bastante "decentes". En ese caso pueden existir ciertas complejidades
muy interesantes, pero no creo que sea tu situación :)

Este sistema es "a prueba de bomba" y 100% portable.

-- 
Jesus Cea Avion                         _/_/      _/_/_/        _/_/_/
jcea en argo.es http://www.argo.es/~jcea/ _/_/    _/_/  _/_/    _/_/  _/_/
                                      _/_/    _/_/          _/_/_/_/_/
PGP Key Available at KeyServ   _/_/  _/_/    _/_/          _/_/  _/_/
"Things are not so easy"      _/_/  _/_/    _/_/  _/_/    _/_/  _/_/
"My name is Dump, Core Dump"   _/_/_/        _/_/_/      _/_/  _/_/
"El amor es poner tu felicidad en la felicidad de otro" - Leibniz




Más información sobre la lista de distribución Python-es