Quero ter um arquivo usado como contador. O usuário A gravará e incrementará esse número, enquanto o usuário B solicitará a leitura do arquivo. É possível que o Usuário A possa bloquear esse arquivo para que ninguém possa ler ou gravar nele até a gravação do Usuário A terminar?
Eu examinei, flock
mas não consigo fazê-lo funcionar como eu esperava.
flock -x -w 5 /dev/shm/counter.txt echo "4" > /dev/shm/counter.txt && sleep 5
Se houver uma maneira mais apropriada de obter esse arquivo de incremento atômico, também seria ótimo ouvir isso!
Minha meta é:
LOCK counter.txt; write to counter.txt;
enquanto ao mesmo tempo
Read counter.txt; realize it's locked so wait until that lock is finished.
&& sleep 5
é executado depois que o rebanho libera a trava.) #
flock
, mas vou colocar isso como uma pergunta separada. Obrigado John!