カウンターとして使用するファイルが欲しいのですが。ユーザー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がロックを解除した後に実行されます。)
flock
、複数のコマンドをに配置する方法ですが、これは別の質問として説明します。ジョンありがとう!