जवाबों:
जब वे शुरू कर रहे हैं, तो उनकी प्रक्रिया आईडी को रिकॉर्ड करने के लिए कुछ प्रोग्राम्स द्वारा पीआईडी फाइलें लिखी जाती हैं। इसके कई उद्देश्य हैं:
kill
अगर कोई इसे समाप्त करना चाहता है, तो एक सादा आदेश जारी करना आसान है।एक पीआईडी फ़ाइल की मात्र उपस्थिति इस बात की गारंटी नहीं देती है कि विशेष प्रक्रिया आईडी निश्चित रूप से चल रही है, इसलिए यह विधि 100% मूर्ख नहीं है, लेकिन बहुत सारे उदाहरणों में "पर्याप्त अच्छी" है। जाँच करना कि क्या कोई विशेष PID प्रक्रिया तालिका में मौजूद है, UNIX जैसे ऑपरेटिंग सिस्टम में पूरी तरह से पोर्टेबल नहीं है, जब तक कि आप ps
उपयोगिता पर निर्भर नहीं होना चाहते , जो सभी उदाहरणों में कॉल करने के लिए वांछनीय नहीं हो सकता है (और मुझे विश्वास है कि कुछ UNIX- जैसे ऑपरेटिंग सिस्टम ps
वैसे भी अलग तरीके से लागू करें )।
प्रोग्राम द्वारा दो (अच्छी तरह से व्यवहार किए गए) अलग-अलग उदाहरणों को सुनिश्चित करने के लिए लॉक फ़ाइलों का उपयोग किया जाता है, जो एक सिस्टम पर समवर्ती रूप से चल रहे हों, उसी समय कुछ और एक्सेस न करें। यह विचार कार्यक्रम से पहले अपने संसाधन तक पहुँचने से पहले, यह एक लॉक फ़ाइल की उपस्थिति के लिए जाँच करता है, और यदि लॉक फ़ाइल मौजूद है, तो या तो त्रुटि है या इसके दूर होने का इंतजार करें। जब यह मौजूद नहीं होता है, तो संसाधन को "अधिग्रहित" करने की इच्छा रखने वाला प्रोग्राम फ़ाइल बनाता है, और फिर बाद में आने वाले अन्य उदाहरण इस प्रक्रिया के साथ इंतजार करेंगे। बेशक, यह मानता है कि प्रोग्राम "प्राप्त" करता है ताला वास्तव में इसे रिलीज़ करता है और लॉक फ़ाइल को हटाना नहीं भूलता है।
यह काम करता है क्योंकि सभी यूनिक्स-जैसे ऑपरेटिंग सिस्टम के तहत फाइलसिस्टम क्रमबद्धता को लागू करता है , जिसका अर्थ है कि फाइलसिस्टम में केवल एक परिवर्तन किसी भी समय होता है। डेटाबेस और इस तरह के ताले की तरह।
इन फ़ाइलों को अक्सर डेमॉन द्वारा उपयोग किया जाता है जिन्हें केवल एक बार सिस्टम पर चलाया जाना चाहिए। PID फ़ाइल में आमतौर पर पहले से लॉन्च और चल रहे प्रोग्राम की प्रक्रिया आईडी संख्या मौजूद होती है यदि कोई मौजूद है। इसके अलावा, जब यह शुरू होता है, तो यह लॉक फाइल बनाता है। जब तक लॉक फ़ाइल मौजूद है, यह उपयोगकर्ता के हस्तक्षेप के बिना एक दूसरे को शुरू नहीं करेगा। यदि लॉक फ़ाइल मौजूद है और pid फ़ाइल में उल्लिखित प्रक्रिया आईडी नहीं चल रही है, तो डेमन को "मृत" अवस्था में माना जाता है, जिसका अर्थ है कि यह चलने वाला है, लेकिन संभवतः दुर्घटना या अनुचित शटडाउन के कारण नहीं है । यह कुछ कार्यक्रमों के लिए एक विशेष स्टार्टअप / पुनरारंभ परिदृश्य शुरू कर सकता है। इसे सही तरीके से बंद करने से लॉक फाइल हट जाएगी।
एक पीआईडी फ़ाइल में एक चल रही प्रक्रिया की प्रक्रिया आईडी शामिल होगी। इसके विभिन्न उपयोग हैं; आप इसे पढ़ सकते हैं और जांच सकते हैं कि प्रक्रिया अभी भी चल रही है और उचित कार्रवाई करें या इसे पढ़ें और प्रक्रिया को मार दें।
एक लॉक फ़ाइल सबसे अधिक संभावित अनुप्रयोग विशिष्ट है। लॉक फ़ाइलों का उपयोग यह इंगित करने के लिए किया जाता है कि कुछ संसाधन उपयोग में है और यह कि एक्सेस की प्रक्रिया को तब तक इंतजार करना चाहिए जब तक कि संसाधन जारी रखने से पहले मुक्त नहीं हो जाते।
.lck
VM की निर्देशिका में एक फ़ाइल को हटाना होगा अन्यथा यह आपको बताएगा कि जब आप इसे शुरू करने का प्रयास करते हैं तो इसका उपयोग होता है।