Voglio avere un file che viene utilizzato come contatore. L'utente A scriverà e incrementerà questo numero, mentre l'utente B richiede di leggere il file. È possibile che l'utente A possa bloccare questo file in modo che nessuno possa leggerlo o scriverlo fino al termine della scrittura dell'utente A?
Ho esaminato flock
ma non riesco a farlo funzionare come mi aspetto.
flock -x -w 5 /dev/shm/counter.txt echo "4" > /dev/shm/counter.txt && sleep 5
Se c'è un modo più appropriato per ottenere questo file incrementale di tipo atomico, sarebbe fantastico sentirlo anche tu!
Il mio obiettivo è:
LOCK counter.txt; write to counter.txt;
allo stesso tempo
Read counter.txt; realize it's locked so wait until that lock is finished.
&& sleep 5
viene eseguito dopo che il gregge rilascia il blocco.)
flock
, ma lo inserirò come una domanda separata. Grazie Giovanni!