Hola,
Estoy trabajando con un programa en Perl que cada minuto monitoriza una serie de recursos del sistema. Los datos son escritos en un fichero. Este fichero a su vez es leído por un segundo programa cada cierto intervalo de tiempo para trabajar con esos datos.
El caso es que tengo un problema de concurrencia con el fichero: el programa que escribe los datos no puede borrar (o no debería al menos) el fichero para insertar los datos del nuevo intervalo si en ese momento el fichero está siendo leído por el segundo programa.
Me gustaría saber si se os ocurre alguna idea para poder tratar este problema.
Lo primero que se me ha ocurrido es que igual existe alguna manera de saber si el fichero esta siendo leído por algún programa, de esta manera solo tendría que esperar a que estuviese cerrado.
Otra idea es empezar a hacer copias, pero me parece un poco engorroso.
Finalmente, otra idea es poner alguna marca en el fichero (algo así como un símbolo en la primera línea) cada vez que el programa que lo lee está accediendo y lo borra una vez ha terminado...
¡En fin, que no se qué hacer!
¡Gracias por adelantado!