नहीं, यह ऐसा नहीं होगा क्योंकि दो पर्ल स्क्रिप्ट एक ही समय में निष्पादित हो रही हैं।
अधिक संभावना स्पष्टीकरण यह है कि स्क्रिप्ट स्वयं लिखने के लिए खुली है जबकि ऑपरेटिंग सिस्टम उपयोग करने के लिए दुभाषिया निर्धारित करने के लिए अपनी शेबांग लाइन पढ़ने की कोशिश कर रहा है।
यह तब भी हो सकता है जब बाहरी प्रक्रिया पर्ल दुभाषिया को अपग्रेड या संशोधित करने का प्रयास कर रही हो, या साझा पुस्तकालयों में से एक पर निर्भर करता है। ध्यान दें कि फ़ाइल अनुमतियां आम तौर पर रूट जैसे सुपरसियर खातों पर लागू नहीं होती हैं, इसलिए सुपरसियर के रूप में चल रही कोई भी प्रक्रिया अभी भी +w
बिट्स सेट होने के बावजूद पर्ल दुभाषिया को संशोधित करने का प्रयास कर सकती है।
(यह कहा गया है कि, पॉज़िक्स-स्टाइल ऑपरेटिंग सिस्टम पर सबसे अच्छी तरह से व्यवहार किए जाने वाले ऑपरेटिंग सिस्टम अपग्रेड टूल्स एक ही फाइल सिस्टम पर एक बाइनरी के अपग्रेड किए गए संस्करण को लिखेंगे, फाइल को बंद करते समय बंद करें, और इसे नाम दें मूल (एक परमाणु ऑपरेशन) - जैसे कि /usr/bin/perl
पर संलग्न इनोड स्वयं लिखने के लिए कभी भी खुला नहीं होता है। ऐसे में, एक अच्छी तरह से व्यवहार प्रणाली पर, जो त्रुटि आप देख रहे हैं वह कुछ ऐसा नहीं है जो कभी भी अभ्यास में आना चाहिए) ।
आप या तो अपने स्क्रिप्ट के लिए या अपने दुभाषिया के लिए, जो एक फ़ाइल खुला है देखने के लिए fuser
आदेश का उपयोग कर सकते हैं: के बाद आप लिखने के लिए स्क्रिप्ट को खोलने
$ sudo fuser /usr/bin/perl -uv
USER PID ACCESS COMMAND
/usr/bin/perl: root 16579 f.... (root)python
स्रोत
2012-05-17 15:11:26
(यह एक सिस्टम प्रशासन सवाल का यकीनन अधिक है - यह ओएस पर निर्भर करता है - विशिष्ट अर्थशास्त्र और किसी भी तरह से पर्ल, या यहां तक कि व्याख्या की गई भाषाओं के लिए विशिष्ट नहीं है - इसलिए भविष्य में, सर्वर फॉल्ट अधिक उचित स्थान हो सकता है) –
टैग perl हटाया गया – joewhitedelux