Ich möchte eine Datei haben, die als Zähler verwendet wird. Benutzer A schreibt und erhöht diese Nummer, während Benutzer B das Lesen der Datei anfordert. Ist es möglich, dass Benutzer A diese Datei sperren kann, sodass niemand sie lesen oder schreiben kann, bis der Schreibvorgang von Benutzer A abgeschlossen ist?
Ich habe nachgesehen flock
, kann es aber nicht so zum Laufen bringen, wie ich es erwartet habe.
flock -x -w 5 /dev/shm/counter.txt echo "4" > /dev/shm/counter.txt && sleep 5
Wenn es einen angemesseneren Weg gibt, um diese atomähnliche Inkrementierungsdatei zu erhalten, wäre es auch toll, sie zu hören!
Mein Ziel ist:
LOCK counter.txt; write to counter.txt;
während zur gleichen Zeit
Read counter.txt; realize it's locked so wait until that lock is finished.
&& sleep 5
wird ausgeführt, nachdem die Herde die Sperre
flock
, aber das werde ich als separate Frage stellen. Danke John!