नौकरी और प्रक्रिया में क्या अंतर है?


जवाबों:


46

एक प्रक्रिया अपने स्वयं के पते के स्थान के साथ किसी भी चल रहे कार्यक्रम है।

एक नौकरी एक अवधारणा है जिसका उपयोग शेल द्वारा किया जाता है - कोई भी कार्यक्रम जो आप अंतःक्रियात्मक रूप से शुरू करते हैं जो अलग नहीं होता है (यानी, डेमॉन नहीं) एक नौकरी है। यदि आप एक इंटरैक्टिव कार्यक्रम चला रहे हैं, तो आप CtrlZइसे निलंबित करने के लिए दबा सकते हैं । फिर आप इसे अग्रभूमि में (उपयोग करके fg) या पृष्ठभूमि में (उपयोग करके bg) शुरू कर सकते हैं ।

जबकि कार्यक्रम को निलंबित कर दिया गया है या पृष्ठभूमि में चल रहा है, तो आप एक और कार्यक्रम शुरू कर सकते हैं - फिर आपके पास दो काम चलेंगे। तुम भी एक "और" इस तरह जोड़कर पृष्ठभूमि में एक कार्यक्रम चल रहा है शुरू कर सकते हैं: program &। वह कार्यक्रम पृष्ठभूमि की नौकरी बन जाएगा। आपके द्वारा चलाए जा रहे सभी नौकरियों को सूचीबद्ध करने के लिए, आप उपयोग कर सकते हैं jobs

नौकरियों के बारे में अधिक जानकारी के लिए, बैश मैन पेज के इस भाग को देखें ।


उपरोक्त उदाहरण में, जब हमारे पास 2 कार्य चल रहे हैं तो हमारे पास भी 2 प्रक्रियाएं चल रही हैं , क्या हम नहीं हैं? क्या आप इसके स्वयं के पते के स्थान का अर्थ बता सकते हैं ? किस स्थिति में एक कार्यक्रम का अपना पता स्थान नहीं होता है?
केनी

@ केनी हां, उन सैन्य नौकरियों में भी प्रक्रिया होगी। वास्तव में, हर काम एक प्रक्रिया है। नौकरी आपके शी सेशन से संबंधित है। आपके द्वारा शुरू की जाने वाली हर प्रक्रिया आपके काम से दूर नहीं होती है।
शॉन जे। गोफ

@ केनी, जहां तक ​​प्रक्रियाएं हैं, जब मैं कार्यक्रम कहता हूं, तो यह एक बहुत ही सामान्य बात है - सीपीयू के लिए आदेशित निर्देशों का एक सेट। इसे कार्य या निष्पादन का सूत्र भी कहा जाता है। एक प्रक्रिया एक और धागा बना सकती है जो अपना पता स्थान साझा करता है।
शॉन जे। गोफ

1
पाइप्ड कमांड्स जैसे कि ls | sortएक काम है, लेकिन प्रत्येक कमांड एक अलग उप-प्रक्रिया प्रक्रिया के बच्चे की प्रक्रिया के रूप में चलती है। यह कई प्रक्रियाओं से युक्त नौकरी का एक उदाहरण है। नौकरी की आपकी परिभाषा कैसे बता सकती है कि नौकरी में कई प्रक्रियाएं हो सकती हैं?
टिम

30

UNIX में अलग-अलग अवधारणाएं "प्रक्रिया", "प्रक्रिया समूह", और "सत्र" हैं।

आपके द्वारा लॉगिन पर प्राप्त किया गया प्रत्येक शेल अपने नए सत्र और प्रक्रिया समूह का नेता बन जाता है, और टर्मिनल के नियंत्रक प्रक्रिया समूह को स्वयं सेट करता है।

शेल चालू सत्र के भीतर प्रत्येक "नौकरी" के लिए एक प्रक्रिया समूह बनाता है जो इसे लॉन्च करता है, और प्रत्येक प्रक्रिया को उपयुक्त प्रक्रिया समूह में रखता है। उदाहरण के लिए, ls | headदो प्रक्रियाओं की एक पाइपलाइन है, जिसे शेल एक एकल नौकरी मानता है, और एक एकल, नई प्रक्रिया समूह से संबंधित होगा।

एक प्रक्रिया निष्पादन और अन्य संदर्भ के धागे का एक (संग्रह) है, जैसे पता स्थान और फ़ाइल विवरणक तालिका। एक प्रक्रिया अन्य प्रक्रियाओं को शुरू कर सकती है; जब तक अन्य कार्रवाई नहीं की जाती है, ये नई प्रक्रियाएं अभिभावक के समान प्रक्रिया समूह की होंगी। प्रत्येक प्रक्रिया में एक "नियंत्रण टर्मिनल" भी हो सकता है, जो अपने माता-पिता के समान शुरू होता है।

शेल में "अग्रभूमि" नौकरियों और "पृष्ठभूमि" नौकरियों की अवधारणा है। फोरग्राउंड नौकरियां टर्मिनल के नियंत्रण के साथ प्रक्रिया समूह हैं, और पृष्ठभूमि नौकरियां टर्मिनल के नियंत्रण के बिना प्रक्रिया समूह हैं।

प्रत्येक टर्मिनल में अग्रभूमि प्रक्रिया समूह होता है। अग्रभूमि में नौकरी लाते समय, शेल इसे टर्मिनल के अग्रभूमि प्रक्रिया समूह के रूप में सेट करता है; जब एक नौकरी पृष्ठभूमि में डालते हैं, तो शेल टर्मिनल के अग्रभूमि प्रक्रिया समूह को किसी अन्य प्रक्रिया समूह या स्वयं के लिए सेट करता है।

प्रक्रियाएं उनके नियंत्रण टर्मिनल से पढ़ सकती हैं और लिख सकती हैं यदि वे अग्रभूमि प्रक्रिया समूह में हैं। अन्यथा वे प्राप्त SIGTTINऔर SIGTTOUप्रयासों पर संकेत क्रमशः से और टर्मिनल के लिए लिखने पढ़ने के लिए। डिफ़ॉल्ट रूप से ये संकेत प्रक्रिया को रोक देते हैं, हालांकि अधिकांश गोले मास्क करते हैं SIGTTOUताकि एक पृष्ठभूमि नौकरी निर्बाध रूप से लिख सके।


1
यह शेल और टर्मिनल प्रक्रिया प्रबंधन का एक अच्छा, संक्षिप्त अवलोकन है। यह उल्लेख करके सुधार किया जा सकता है कि एक "नौकरी" एक "पाइपलाइन" है, जो एक प्रक्रिया समूह में एक साथ जुड़ी एक से अधिक प्रक्रिया हो सकती है।
क्रिस पेज

1

कंप्यूटिंग में, एक कार्य कार्य की एक इकाई या निष्पादन की इकाई है (जो कहा जाता है कि कार्य करता है)। नौकरी का एक घटक (काम की एक इकाई के रूप में) को एक कार्य या एक कदम (यदि अनुक्रमिक, नौकरी की धारा में) कहा जाता है। निष्पादन की एक इकाई के रूप में, एक नौकरी को एक एकल प्रक्रिया के साथ समवर्ती रूप से पहचाना जा सकता है, जिसमें बदले में उपप्रोसेस (बच्चे की प्रक्रिया, माता-पिता की प्रक्रिया के अनुरूप नौकरी की प्रक्रिया) हो सकती है, जो उन कार्यों या चरणों को पूरा करती है जिनमें कार्य शामिल होते हैं; काम; या एक प्रक्रिया समूह के साथ; या एक प्रक्रिया या प्रक्रिया समूह के लिए एक सार संदर्भ के साथ, यूनिक्स नौकरी नियंत्रण के रूप में।

स्रोत

अच्छे उदाहरण हैं


-1

उपर्युक्त परिभाषाएँ बहुत ही तकनीकी हैं, लेकिन शायद ऑप दिन के स्पष्टीकरण के लिए अधिक दिन चाहते थे। मुझे लगता है कि नौकरी एक निर्धारित प्रक्रिया है। जब हम सामान्य रूप से प्रक्रियाओं से निपटते हैं, तो निश्चित रूप से अनुसूची की धारणा नहीं होती है, लेकिन जब हम "नौकरी" शब्द का उपयोग करते हैं, तो हमारा हमेशा मतलब होता है कि यह अनुसूचित है, या लूप की तरह दोहरावदार है, यह एक कार्यकर्ता की तरह है।


1
यदि आप नीचे वोट देना चाहते हैं तो कृपया वोटों की व्याख्या करें। यदि यह उत्तर सही नहीं है, तो कम से कम यह बताएं कि आपको क्यों लगता है कि यह सही नहीं है। अब तक मुझे लगता है कि मेरा जवाब समझ में आता है, यह उस तरह का स्पष्टीकरण है जिसकी मुझे तलाश थी।
एलोन

मैं इस बात से सहमत हूं कि जिसने वोट दिया, उसे समझाया जाना चाहिए था। लेकिन मुझे लगता है कि गिरावट का कारण यह है कि "नौकरी" की परिभाषा केवल सही नहीं है।
प्रोग्रेस करें

यह समझाने की परवाह करें कि यह सही क्यों नहीं है? "नौकरी" sth को स्पष्ट रूप से परिभाषित नहीं किया जाता है जैसे कि "प्रक्रिया" क्या है (सिस्टम में PID के साथ)। मेरे अनुभव में "नौकरी" हमेशा एक निश्चित प्रकार की प्रक्रिया को परिभाषित करने के लिए इस्तेमाल किया जाने वाला एक शब्द था, जो अक्सर निर्धारित होता था, और पृष्ठभूमि में, और जिसे आप लॉन्च कर सकते हैं। इसलिए इसे परिभाषित करना मुश्किल है क्योंकि उपयोग इसे परिभाषित करता है। यह प्रक्रियाओं का एक समूह भी हो सकता है, लेकिन एक "कंटेनर" (LXC) है, लेकिन एक "कंटेनर" "नौकरी" नहीं है। एक लॉन्च प्रक्रिया जैसे कि "नग्नेक्स" भी "नौकरी" नहीं है। मेरी टिप्पणी अभी भी उत्तर के लिए sth कहते हैं। फिर, यह जवाब देता है कि मैं क्या समझने की कोशिश कर रहा था।
एलोन

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