Re: [Python-es] Programa en ejecuciòn

Catalin Lungu lcatalin en siadv.com
Mie Ago 18 13:54:13 CEST 2004


Hola Jesús,

Si me dices como podría bloquear un fichero te estaría muy agradecido.
Parece que un fichero lo pueden abrir varios procesos y el ultimo que lo
escribe es lo que se queda guardado. Seguro hay alguna forma de hacerlo pero
no la veo ahora. Esta si que seria la mejor forma de hacerlo.

Un saludo,
Catalin Lungu

----- Original Message ----- 
From: "Jesus Cea Avion" <jcea en argo.es>
To: "La lista de python en castellano" <python-es en aditel.org>
Sent: Wednesday, August 18, 2004 12:37 PM
Subject: Re: [Python-es] Programa en ejecuciòn


> 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
_______________________________________________
Python-es mailing list
Python-es en aditel.org
http://listas.aditel.org/listinfo/python-es




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