क्या दो init प्रक्रियाएं हो सकती हैं?


3

मैं ऑपरेटिंग सिस्टम (विशेष रूप से लिनक्स) के लिए नया हूं और यह मेरा पहला सवाल है

मैं पूछना चाहता हूं, क्या सीएमडी = इनिट (जैसा कि ps - eकमांड द्वारा दिया गया है ) के साथ दो प्रक्रिया हो सकती है ।

मेरे लैपटॉप पर CMD = init (id का 1 (यह डिफ़ॉल्ट है) और 29179) के साथ दो प्रक्रियाएँ थीं। मैंने एक सी ++ प्रोग्राम लिखा और एक बच्चा बनाया और माता-पिता के बाहर निकलने का इंतजार किया (बच्चे को अनाथ कर दिया) और फिर बच्चे के पीपीपी की जांच की लेकिन इसने 29179 दिए।

यहाँ मेरा C ++ प्रोग्राम है: Prog.cpp ( Ideone पर stdout का सभी आउटपुट प्रिंट नहीं है, जिस तरह से हो सकता है।)

यहाँ मेरे C ++ प्रोग्राम और ps -eमेरे लैपटॉप पर आउटपुट (केवल 2 लिंक की अनुमति है) का आउटपुट है : आउटपुट

जवाबों:


2

हाँ। कई init प्रक्रियाओं का होना संभव है।

अपस्टार्ट से पहले के पुराने दिनों में, बस एक initप्रक्रिया थी (जहाँ PID = 1)।

अब, अपस्टार्ट के साथ, मूल initप्रक्रिया (जहाँ PID = 1) है।

लेकिन, जब कोई उपयोगकर्ता लॉग इन करता है, तो initउस उपयोगकर्ता सत्र के लिए एक नई प्रक्रिया बनाई जाती है। इस प्रकार, यही कारण है कि आप दूसरी initप्रक्रिया (जहां PID != 1) देखते हैं ।


इस दूसरी initप्रक्रिया के जनक कौन हैं?
सौरभ जैन

सभी प्रक्रियाओं (आपके अलावा) में मूल init (pid = 1) का मूल है। आपकी प्रक्रियाओं (उपयोगकर्ता) के पास दूसरे init (जहाँ pid! = 1) के जनक हैं।
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.