मैं एक फ़ाइल है जो एक काउंटर के रूप में उपयोग किया जाता है चाहता हूँ। उपयोगकर्ता A इस नंबर को लिखेगा और बढ़ाएगा, जबकि उपयोगकर्ता B फ़ाइल को पढ़ने का अनुरोध करता है। क्या यह संभव है कि उपयोगकर्ता ए इस फ़ाइल को लॉक कर सकता है ताकि कोई भी इसे पढ़ या लिख न सके जब तक उपयोगकर्ता ए का लेखन समाप्त नहीं हो जाता?
मैंने देखा है, 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
, लेकिन मैं इसे एक अलग प्रश्न के रूप में रखूँगा। धन्यवाद जॉन!