Quiero tener un archivo que se use como contador. El usuario A escribirá e incrementará este número, mientras que el usuario B solicita leer el archivo. ¿Es posible que el usuario A pueda bloquear este archivo para que nadie pueda leerlo o escribirlo hasta que finalice la escritura del usuario A?
Lo he investigado flock
pero parece que no puedo hacerlo funcionar como lo espero.
flock -x -w 5 /dev/shm/counter.txt echo "4" > /dev/shm/counter.txt && sleep 5
¡Si hay una manera más apropiada de obtener este archivo incremental de tipo atómico, sería genial escucharlo también!
Mi meta es:
LOCK counter.txt; write to counter.txt;
mientras que al mismo tiempo
Read counter.txt; realize it's locked so wait until that lock is finished.
&& sleep 5
se ejecuta después de que el lote libera el bloqueo.)
flock
, pero lo pondré como una pregunta separada. Gracias John!