.Pid फ़ाइल क्या होती है और इसमें क्या होता है?


199

मैं हाल ही में एक्सटेंशन .pid के साथ एक फ़ाइल भर में आया हूं और इसके अंदर पता लगाया लेकिन बहुत कुछ नहीं मिला। प्रलेखन कहता है:

एक पिड-फाइल एक प्रक्रिया पहचान संख्या (pid) युक्त फाइल है, जो फाइल सिस्टम के एक अच्छी तरह से परिभाषित स्थान में संग्रहित होती है और इस प्रकार अन्य प्रोग्रामों को एक रनिंग स्क्रिप्ट की पाइड का पता लगाने की अनुमति देती है।

क्या कोई इस पर अधिक प्रकाश डाल सकता है, या मुझे इस बात का विवरण दे सकता है कि पीआईडी ​​फाइल में क्या निहित है?

जवाबों:


210

Pid फ़ाइलों में दिए गए प्रोग्राम की प्रोसेस आईडी (एक संख्या) होती है। उदाहरण के लिए, अपाचे HTTPD एक पीआईडी ​​फ़ाइल के लिए अपना मुख्य प्रोसेस नंबर लिख सकता है - जो एक नियमित पाठ फ़ाइल है, इससे अधिक कुछ नहीं - और बाद में खुद को रोकने के लिए निहित जानकारी का उपयोग करें। आप उस जानकारी का उपयोग करके प्रक्रिया को मारने के लिए भी उपयोग कर सकते हैंcat filename.pid | xargs kill


4
फिर नाम से प्रक्रिया क्यों नहीं देखी गई? जब आप सिर्फ "pidof $ process_name" चला सकते हैं और आईडी प्राप्त कर सकते हैं तो .pid फ़ाइलों को बनाए रखने से परेशान क्यों हैं?
शनात्सल

14
@Shanatsel: क्योंकि उस नाम से दो प्रक्रियाएँ चल सकती हैं, और आपको यह जानना होगा कि उस PID फ़ाइल का प्रभारी कौन है । अन्य कारण हैं, अधिक विवरण यहां पाए गए हैं: unix.stackexchange.com/questions/12815/…
user4815162342

2
उस स्थिति में 2 पीआईडी ​​फाइलें होंगी और आप पीआईडी ​​लुकअप के साथ उसी मुद्दे का सामना कर रहे होंगे। तो pidfiles किसी भी अच्छे के लिए नहीं करते हैं और केवल इस परिदृश्य में चीजों को जटिल करते हैं और साथ ही किसी भी अन्य परिदृश्य के बारे में सोच सकते हैं। मुझे संदेह है कि वे या तो procfs से पहले दिखाई दिए थे या वे पोर्टेबिलिटी टूल के रूप में उपयोग किए जाते हैं क्योंकि procfs इंटरफेस उदाहरण पर अलग हैं जैसे Solaris लिनक्स पर उस से काफी अलग हैं।
शनात्सेल

3
सिर्फ एक चीज: echo filename.pid | xargs killप्रक्रिया को नहीं मारेंगे। मुझे लगता है कि आपका मतलब था: echo $(cat filename.pid) | xargs kill या echo <process ID> | xargs kill
अलेक्जेंड्रो डी ओलिवेरा

2
@AlexandrodeOliveira क्या सिर्फ बदले में गूंज और बिल्ली का उपयोग करने का एक फायदा है cat filename.pid | xargs kill?
साइमन ए। युगस्टर

0

Pidfile में एक प्रक्रिया का pid होता है। यह एक सम्मेलन है जो लंबी चलने वाली प्रक्रियाओं को अधिक आत्म-जागरूक होने की अनुमति देता है। सर्वर प्रक्रिया इसे स्वयं को रोकने के लिए निरीक्षण कर सकती है, या अनुमान लगा सकती है कि इसका दूसरा उदाहरण पहले से ही चल रहा है। Pidfiles को मैन्युअल रूप से जोखिम को मारने के लिए भी इस्तेमाल किया जा सकता है, जैसेpkill -F <some.pid>


-1

Pid फ़ाइलों को समझने के लिए, इसे देखें DOC को

कुछ समय में कुछ एप्लिकेशन होते हैं जिन्हें अतिरिक्त प्लगइन्स और उपयोगिताओं के अतिरिक्त समर्थन की आवश्यकता होती है। तो यह इन उपयोगिताओं और प्लगइन प्रक्रिया को ट्रैक करता है जो संदर्भ के लिए इस pid फ़ाइल का उपयोग करके आईडी चला रहा है।

इसीलिए जब भी आप किसी एप्लीकेशन को रिस्टार्ट करते हैं तो सभी जरूरी प्लगइन्स और डिपेंडेंट एप्स को रीस्टार्ट करना होगा क्योंकि पीआईडी ​​फाइल बासी हो जाएगी।


8
आपका पहला लिंक वास्तव में सवाल का जवाब नहीं देता है।
ब्रायन

5
जब भी लिंक की गई सामग्री सैद्धांतिक रूप से प्रश्न का उत्तर दे सकती है, तो उत्तर के आवश्यक भागों को यहां शामिल करना और संदर्भ के लिए लिंक प्रदान करना बेहतर होगा
टोबे स्पाइट
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.