Tôi muốn có một tập tin được sử dụng như một bộ đếm. Người dùng A sẽ viết và tăng số này, trong khi Người dùng B yêu cầu đọc tệp. Có phải người dùng A có thể khóa tệp này để không ai có thể đọc hoặc ghi vào tệp đó cho đến khi việc ghi của người dùng A kết thúc?
Tôi đã xem xét flock
nhưng dường như không thể làm cho nó hoạt động như tôi mong đợi.
flock -x -w 5 /dev/shm/counter.txt echo "4" > /dev/shm/counter.txt && sleep 5
Nếu có một cách thích hợp hơn để có được tập tin gia tăng giống như nguyên tử này thì cũng thật tuyệt khi nghe!
Mục tiêu của tôi là:
LOCK counter.txt; write to counter.txt;
đồng thời
Read counter.txt; realize it's locked so wait until that lock is finished.
&& sleep 5
được thực thi sau khi đàn nhả khóa.)
flock
, nhưng tôi sẽ đặt nó như một câu hỏi riêng biệt. Cảm ơn John!