Я хочу мати файл, який використовується як лічильник. Користувач A запише та збільшить цей номер, тоді як Користувач B вимагає прочитати файл. Чи можливо Користувач A може заблокувати цей файл, щоб ніхто не міг його читати чи писати, поки запис користувача A не закінчиться?
Я переглянув, flock
але не можу зробити так, щоб він працював так, як я цього очікував.
flock -x -w 5 /dev/shm/counter.txt echo "4" > /dev/shm/counter.txt && sleep 5
Якщо є більш підходящий спосіб отримати цей атомарний прирістний файл, який би також чудово чути!
Моя мета:
LOCK counter.txt; write to counter.txt;
в той же час
Read counter.txt; realize it's locked so wait until that lock is finished.
&& sleep 5
виконується після звільнення зграї.)
flock
, але я поставлю це як окреме питання. Дякую, Джон!