लॉक फ़ाइल क्या है?
A LOCK फ़ाइल एक पुनर्नामित फ़ाइल है जिसका उपयोग एप्लिकेशन और ऑपरेटिंग सिस्टम द्वारा फ़ाइल या कुछ डिवाइस को लॉक के रूप में चिह्नित करने के लिए किया जाता है। यह अन्य एप्लिकेशन को फ़ाइल का उपयोग न करने के लिए कहता है जब तक कि यह उस एप्लिकेशन से मुक्त न हो जो इसका उपयोग कर रहा है। ज्यादातर मामलों में, ये लॉक फाइलें खाली होती हैं, लेकिन अन्य मामलों में, इनमें लॉक से संबंधित जानकारी जैसे गुण और सेटिंग्स हो सकती हैं।
कभी-कभी, .lock फ़ाइल का उपयोग Microsoft के .NET Framework द्वारा डेटाबेस फ़ाइल की lockeed प्रतियां बनाने के लिए किया जाता है। ऐसे में डेटाबेस फाइल की एक कॉपी .lock एक्सटेंशन के साथ खुल जाएगी। यह उपयोगकर्ता को उस समय फ़ाइल में परिवर्तन करने की अनुमति नहीं देता है जब वह किसी अन्य उपयोगकर्ता द्वारा उपयोग की जा रही हो।
लॉक फ़ाइल स्वरूप - अधिक जानकारी
प्रत्येक एप्लिकेशन द्वारा एक LOCK फ़ाइल बनाई जाती है और इसका फ़ाइल स्वरूप एप्लिकेशन के लिए विशिष्ट होता है। इन लॉक फाइलों को टेक्स्ट के साथ-साथ बाइनरी फाइल फॉर्मेट दोनों में सेव किया जा सकता है।
लॉक फ़ाइलों की उपस्थिति उस संसाधन तक पहुँचने का प्रयास करने वाली कई फ़ाइलों के लिए संसाधन की एक साथ पहुँच को रोकती है। मूल फ़ाइल की एक कॉपी उसके नाम के आगे .lock एक्सटेंशन लगाकर बनाई जाती है। यह अन्य एप्लिकेशन को फ़ाइल तक केवल पढ़ने के लिए पहुंच के बारे में बताता है। उदाहरण के लिए, रिसोर्स.डैट रिसोर्स.डाटा.लॉक बन जाएगा।
रूबी प्रोग्रामिंग भाषा के लिए, आप फ़ाइल gemfile.lock पर आ सकते हैं। यह वह जगह है जहां बंडलर स्थापित किए गए सटीक संस्करणों का रिकॉर्ड रखता है। इस प्रकार, जब एक परियोजना/पुस्तकालय को दूसरी मशीन में ले जाया जाता है, तो चलने वाला बंडल जेमफाइल को सटीक प्रासंगिक संस्करण के लिए देखेगा।
लिनक्स में फ़ाइल लॉक करें
Linux दो प्रकार के फ़ाइल लॉक का समर्थन करता है: एडवाइजरी लॉक और अनिवार्य लॉक।
सलाहकार लॉक: लॉकिंग का प्रकार जो लागू नहीं किया गया है। इस मामले में, भाग लेने वाली प्रक्रियाएँ एक दूसरे के साथ स्पष्ट रूप से ताले प्राप्त करने में सहयोग करती हैं। यदि यह संभव नहीं है, तो एडवाइजरी लॉक्स को नजरअंदाज कर दिया जाता है।
अनिवार्य लॉक: अनिवार्य लॉकिंग के मामले में, ऑपरेटिंग सिस्टम फ़ाइल को पढ़ने या लिखने से अन्य प्रक्रियाओं को रोककर फ़ाइल लॉकिंग को लागू करता है। इसके लिए प्रक्रियाओं के बीच किसी सहयोग की आवश्यकता नहीं है।
अनिवार्य लॉकिंग को भाग लेने वाली प्रक्रियाओं के बीच किसी भी सहयोग की आवश्यकता नहीं होती है। एक बार फ़ाइल पर एक अनिवार्य लॉक सक्रिय हो जाने पर, ऑपरेटिंग सिस्टम फ़ाइल को पढ़ने या लिखने से अन्य प्रक्रियाओं को रोकता है।
संदर्भ
- जेमफाइल और जेमफाइल.लॉक इन रूबी
- [लिनक्स में लॉकिंग](https://www.baeldung.com/linux/file-locking#:~:text=File%20locking%20is%20a%20mechanism, very%20dangerous%20command%20in%20Linux।)