Je veux avoir un fichier utilisé comme compteur. L'utilisateur A écrit et incrémente ce nombre, tandis que l'utilisateur B demande de lire le fichier. Est-il possible que l'utilisateur A puisse verrouiller ce fichier afin que personne ne puisse y lire ou y écrire tant que l'écriture de l'utilisateur A n'est pas terminée?
J'ai regardé flock
mais je n'arrive pas à le faire fonctionner comme je m'y attendais.
flock -x -w 5 /dev/shm/counter.txt echo "4" > /dev/shm/counter.txt && sleep 5
S'il existe un moyen plus approprié d'obtenir ce fichier d'incrémentation de type atomique, ce serait génial d'entendre aussi!
Mon but est:
LOCK counter.txt; write to counter.txt;
pendant ce temps-là
Read counter.txt; realize it's locked so wait until that lock is finished.
&& sleep 5
est exécuté après que le troupeau a
flock
, mais je vais poser cela comme une question distincte. Merci John!