डेमन (कंप्यूटिंग): Difference between revisions

From Vigyanwiki
(Created page with "{{Short description|Computer program that runs as a background process}} {{broader|Server (computing){{!}}Server}} {{more footnotes|date=June 2018}} File:Free and open-sourc...")
 
No edit summary
Line 1: Line 1:
{{Short description|Computer program that runs as a background process}}
{{Short description|Computer program that runs as a background process}}
{{broader|Server (computing){{!}}Server}}
{{broader|सर्वर (कंप्यूटिंग){{!}}सर्वर}}
{{more footnotes|date=June 2018}}
[[File:Free and open-source-software display servers and UI toolkits.svg|thumb|right|400px|कुछ [[लिनक्स]] [[डेस्कटॉप वातावरण]] के घटक जो डेमॉन हैं, उनमें [[डी-बस]], [[ नेटवर्क प्रबंधक |नेटवर्क प्रबंधक]] (यहां अननेटवर्क कहा जाता है), [[पल्सऑडियो]] (यूसाउंड) और [[अवही (सॉफ्टवेयर)]] शामिल हैं।]][[कंप्यूटर मल्टीटास्किंग|मल्टीटास्किंग]] कंप्यूटर [[ऑपरेटिंग सिस्टम|प्रचालन तंत्र]] में, एक डेमन ({{IPAc-en|ˈ|d|iː|m|ən}} या {{IPAc-en|ˈ|d|eɪ|m|ən}})<ref name="jargon">{{Cite web|url=http://catb.org/~esr/jargon/html/D/daemon.html |title=daemon|author=Eric S. Raymond |author-link=Eric S. Raymond |access-date=2008-10-22 |work=[[Jargon File|The Jargon File]] }}</ref> एक [[कंप्यूटर प्रोग्राम]] है जो एक अन्योन्यक्रिया उपयोगकर्ता के सीधे नियंत्रण में होने के अतिरिक्त [[पृष्ठभूमि प्रक्रिया|परोक्ष प्रक्रम]] के रूप में चलता है। परंपरागत रूप से, एक डेमन के प्रक्रिया नाम अक्षर डी के साथ समाप्त होते हैं, स्पष्टीकरण के लिए कि प्रक्रिया वस्तुतः एक डेमन है, और एक डेमन और एक सामान्य कंप्यूटर प्रोग्राम के बीच अंतर करने के लिए है। उदाहरण के लिए, {{mono|[[syslogd]]}} एक डेमन है जो तंत्र प्रचालेख सुविधा को लागू करता है, और {{mono|sshd}} एक डेमॉन है जो आगामी [[ सुरक्षित खोल |सुरक्षित आवरण]] सम्बन्धों की सेवा करता है।
[[File:Free and open-source-software display servers and UI toolkits.svg|thumb|right|400px|कुछ [[लिनक्स]] [[डेस्कटॉप वातावरण]] के घटक जो डेमॉन हैं, उनमें [[डी-बस]], [[ नेटवर्क प्रबंधक ]] (यहां अननेटवर्क कहा जाता है), [[पल्सऑडियो]] (यूसाउंड) और [[अवही (सॉफ्टवेयर)]] शामिल हैं।]][[कंप्यूटर मल्टीटास्किंग]] कंप्यूटर [[ऑपरेटिंग सिस्टम]] में, एक डेमन ({{IPAc-en|ˈ|d|iː|m|ən}} या {{IPAc-en|ˈ|d|eɪ|m|ən}})<ref name="jargon">{{Cite web|url=http://catb.org/~esr/jargon/html/D/daemon.html |title=daemon|author=Eric S. Raymond |author-link=Eric S. Raymond |access-date=2008-10-22 |work=[[Jargon File|The Jargon File]] }}</ref> एक [[कंप्यूटर प्रोग्राम]] है जो एक इंटरैक्टिव उपयोगकर्ता के सीधे नियंत्रण में होने के बजाय [[पृष्ठभूमि प्रक्रिया]] के रूप में चलता है। परंपरागत रूप से, एक डेमन के प्रक्रिया नाम अक्षर डी के साथ समाप्त होते हैं, स्पष्टीकरण के लिए कि प्रक्रिया वास्तव में एक डेमन है, और एक डेमन और एक सामान्य कंप्यूटर प्रोग्राम के बीच अंतर करने के लिए। उदाहरण के लिए, {{mono|[[syslogd]]}} एक डेमन है जो सिस्टम लॉगिंग सुविधा को लागू करता है, और {{mono|sshd}} एक डेमॉन है जो इनकमिंग [[ सुरक्षित खोल ]] कनेक्शन को सर्व करता है।


एक [[यूनिक्स]] वातावरण में, डेमन की मूल प्रक्रिया अक्सर, लेकिन हमेशा नहीं, init प्रक्रिया होती है। एक डेमॉन आमतौर पर या तो एक प्रोसेस [[ कांटा (ऑपरेटिंग सिस्टम) ]] द्वारा एक चाइल्ड प्रोसेस द्वारा बनाया जाता है और फिर तुरंत बाहर निकल जाता है, इस प्रकार [[ गर्मी ]] को चाइल्ड प्रोसेस को अपनाने का कारण बनता है, या इनिट प्रोसेस द्वारा सीधे डेमन को लॉन्च किया जाता है। इसके अलावा, फोर्किंग और एक्साइटिंग द्वारा लॉन्च किए गए एक डेमॉन को आमतौर पर अन्य ऑपरेशन करने चाहिए, जैसे कि किसी भी कंट्रोलिंग ट्टी (यूनिक्स) (टीटी) से प्रक्रिया को अलग करना। इस तरह की प्रक्रियाओं को अक्सर यूनिक्स में डेमन (3) जैसे विभिन्न सुविधा रूटीनों में लागू किया जाता है।
एक [[यूनिक्स]] वातावरण में, डेमन की मूल प्रक्रिया प्रायः, परन्तु सदैव नहीं, इनिट प्रक्रिया होती है। एक डेमॉन सामान्यतः या तो एक प्रक्रम [[ कांटा (ऑपरेटिंग सिस्टम) |दिशाखित (प्रचालन तंत्र)]] द्वारा एक चाइल्ड प्रक्रम द्वारा बनाया जाता है और फिर तुरंत बाहर निकल जाता है, जिससे [[ गर्मी |इनिट]] चाइल्ड प्रक्रम को अपनाने का कारण बनता है, या इनिट प्रक्रम द्वारा सीधे डेमन को प्रमोचन किया जाता है। इसके अतिरिक्त , दिशाखित और एक्साइटिंग द्वारा प्रमोचन किए गए एक डेमॉन को सामान्यतः अन्य प्रचालन करने चाहिए, जैसे कि किसी भी नियंत्रक टीटीवाई (यूनिक्स) से प्रक्रिया को अलग करना। इस प्रकार की प्रक्रियाओं को प्रायः यूनिक्स में डेमन (3) जैसे विभिन्न सुविधा परिच्छेदनों में लागू किया जाता है।


सिस्टम अक्सर [[बूटिंग]] के समय डेमॉन शुरू करता है जो नेटवर्क अनुरोध, हार्डवेयर गतिविधि, या अन्य प्रोग्राम को कुछ कार्य करके प्रतिक्रिया देगा। [[क्रॉन]] जैसे डेमॉन भी निर्धारित समय पर परिभाषित कार्य कर सकते हैं।
सिस्टम प्रायः [[बूटिंग]] के समय डेमॉन शुरू करता है जो नेटवर्क अनुरोध, हार्डवेयर गतिविधि, या अन्य प्रोग्राम को कुछ कार्य करके प्रतिक्रिया देगा। [[क्रॉन]] जैसे डेमॉन भी निर्धारित समय पर परिभाषित कार्य कर सकते हैं।


== शब्दावली ==
== शब्दावली ==
यह शब्द प्रोजेक्ट मैक | एमआईटी के प्रोजेक्ट मैक के प्रोग्रामर्स द्वारा गढ़ा गया था। 1963 में MIT कंप्यूटर साइंस एंड आर्टिफिशियल इंटेलिजेंस लेबोरेटरी#प्रोजेक्ट MAC पर काम करने वाले फर्नांडो जे. कॉर्बेटो के अनुसार, उनकी टीम डेमन शब्द का उपयोग करने वाली पहली टीम थी, जो मैक्सवेल के दानव से प्रेरित थी, जो भौतिकी और [[ऊष्मप्रवैगिकी]] में एक काल्पनिक एजेंट था जिसने छँटाई करने में मदद की अणु, बताते हुए, हमने काल्पनिक रूप से डेमन शब्द का उपयोग उन पृष्ठभूमि प्रक्रियाओं का वर्णन करने के लिए करना शुरू किया जो सिस्टम के काम करने के लिए अथक रूप से काम करती हैं।<ref>{{Cite web|title=डेमन शब्द की उत्पत्ति|url=http://ei.cs.vt.edu/~history/Daemon.html}}</ref> यूनिक्स सिस्टम ने इस शब्दावली को विरासत में मिला है। मैक्सवेल का दानव पृष्ठभूमि में काम कर रहे एक अलौकिक प्राणी के रूप में एक [[डेमन (पौराणिक कथा)]] की ग्रीक पौराणिक कथाओं की व्याख्या के अनुरूप है।
यह शब्द प्रोजेक्ट मैक | एमआईटी के प्रोजेक्ट मैक के प्रोग्रामर्स द्वारा गढ़ा गया था। 1963 में MIT कंप्यूटर साइंस एंड आर्टिफिशियल इंटेलिजेंस लेबोरेटरी#प्रोजेक्ट MAC पर काम करने वाले फर्नांडो जे. कॉर्बेटो के अनुसार, उनकी टीम डेमन शब्द का उपयोग करने वाली पहली टीम थी, जो मैक्सवेल के दानव से प्रेरित थी, जो भौतिकी और [[ऊष्मप्रवैगिकी]] में एक काल्पनिक एजेंट था जिसने छँटाई करने में मदद की अणु, बताते हुए, हमने काल्पनिक रूप से डेमन शब्द का उपयोग उन परोक्ष प्रक्रमओं का वर्णन करने के लिए करना शुरू किया जो सिस्टम के काम करने के लिए अथक रूप से काम करती हैं।<ref>{{Cite web|title=डेमन शब्द की उत्पत्ति|url=http://ei.cs.vt.edu/~history/Daemon.html}}</ref> यूनिक्स सिस्टम ने इस शब्दावली को विरासत में मिला है। मैक्सवेल का दानव परोक्ष में काम कर रहे एक अलौकिक प्राणी के रूप में एक [[डेमन (पौराणिक कथा)]] की ग्रीक पौराणिक कथाओं की व्याख्या के अनुरूप है।


सामान्य अर्थ में, [[ग्रीक भाषा]] δαίμων से डेमन शब्द दानव का एक पुराना रूप है। यूनिक्स सिस्टम एडमिनिस्ट्रेशन हैंडबुक में [[एवी नेमेथ]] डेमॉन के बारे में निम्नलिखित बताता है:<ref>{{Cite web|title=बीएसडी डेमन|url=http://www.freebsd.org/copyright/daemon.html|access-date=2008-11-15|publisher=Freebsd.org}}</ref>
सामान्य अर्थ में, [[ग्रीक भाषा]] δαίμων से डेमन शब्द दानव का एक पुराना रूप है। यूनिक्स सिस्टम एडमिनिस्ट्रेशन हैंडबुक में [[एवी नेमेथ]] डेमॉन के बारे में निम्नलिखित बताता है:<ref>{{Cite web|title=बीएसडी डेमन|url=http://www.freebsd.org/copyright/daemon.html|access-date=2008-11-15|publisher=Freebsd.org}}</ref>
Line 16: Line 15:
Many people equate the word "daemon" with the word "demon", implying some kind of [[satanism|satanic]] connection between UNIX and the [[underworld]]. This is an egregious misunderstanding. "Daemon" is actually a much older form of "demon"; daemons have no particular bias towards good or evil, but rather serve to help define a person's character or personality. The [[Ancient Greece|ancient Greeks]]' concept of a "personal daemon" was similar to the modern concept of a "guardian angel"—''eudaemonia'' is the state of being helped or protected by a kindly spirit. As a rule, UNIX systems seem to be infested with both daemons and demons.}}
Many people equate the word "daemon" with the word "demon", implying some kind of [[satanism|satanic]] connection between UNIX and the [[underworld]]. This is an egregious misunderstanding. "Daemon" is actually a much older form of "demon"; daemons have no particular bias towards good or evil, but rather serve to help define a person's character or personality. The [[Ancient Greece|ancient Greeks]]' concept of a "personal daemon" was similar to the modern concept of a "guardian angel"—''eudaemonia'' is the state of being helped or protected by a kindly spirit. As a rule, UNIX systems seem to be infested with both daemons and demons.}}


पौराणिक प्रतीकवाद का एक और लक्षण वर्णन यह है कि एक दानव एक ऐसी चीज है जो अभी तक दिखाई नहीं देती है और हमेशा मौजूद रहती है और अपनी इच्छा से काम करती है। थियेज में, [[प्लेटो]] को जिम्मेदार ठहराते हुए, [[सुकरात]] ने अपने स्वयं के व्यक्तिगत डेमन का वर्णन एक नैतिक विवेक की आधुनिक अवधारणा की तरह किया: देवताओं के पक्ष ने मुझे एक अद्भुत उपहार दिया है, जिसने मुझे बचपन से कभी नहीं छोड़ा है। यह एक ऐसी आवाज है, जब यह खुद को सुनाती है, जो मैं करने जा रहा हूं उससे मुझे रोकता है और मुझे कभी भी आग्रह नहीं करता है।{{citation needed|date=January 2020}}
पौराणिक प्रतीकवाद का एक और लक्षण वर्णन यह है कि एक दानव एक ऐसी चीज है जो अभी तक दिखाई नहीं देती है और सदैव मौजूद रहती है और अपनी इच्छा से काम करती है। थियेज में, [[प्लेटो]] को जिम्मेदार ठहराते हुए, [[सुकरात]] ने अपने स्वयं के व्यक्तिगत डेमन का वर्णन एक नैतिक विवेक की आधुनिक अवधारणा के जैसे किया: देवताओं के पक्ष ने मुझे एक अद्भुत उपहार दिया है, जिसने मुझे बचपन से कभी नहीं छोड़ा है। यह एक ऐसी आवाज है, जब यह खुद को सुनाती है, जो मैं करने जा रहा हूं उससे मुझे रोकता है और मुझे कभी भी आग्रह नहीं करता है।{{citation needed|date=January 2020}}


आधुनिक उपयोग में, डेमन शब्द का उच्चारण किया जाता है {{IPAc-en|ˈ|d|iː|m|ən}} {{respell|DEE|mən}}. कंप्यूटर सॉफ्टवेयर के संदर्भ में, मूल उच्चारण {{IPAc-en|ˈ|d|iː|m|ən}} की ओर चला गया है {{IPAc-en|ˈ|d|eɪ|m|ən}} {{respell|DAY|mən}} कुछ वक्ताओं के लिए।<ref name="jargon" />
आधुनिक उपयोग में, डेमन शब्द का उच्चारण किया जाता है {{IPAc-en|ˈ|d|iː|m|ən}} {{respell|DEE|mən}}. कंप्यूटर सॉफ्टवेयर के संदर्भ में, मूल उच्चारण {{IPAc-en|ˈ|d|iː|m|ən}} की ओर चला गया है {{IPAc-en|ˈ|d|eɪ|m|ən}} {{respell|DAY|mən}} कुछ वक्ताओं के लिए।<ref name="jargon" />
Line 28: Line 27:


=== यूनिक्स जैसी प्रणाली ===
=== यूनिक्स जैसी प्रणाली ===
कड़ाई से तकनीकी अर्थ में, एक यूनिक्स जैसी प्रणाली प्रक्रिया एक डेमॉन है जब इसकी मूल प्रक्रिया समाप्त हो जाती है और डेमन को इसकी मूल प्रक्रिया के रूप में इनिट प्रक्रिया (प्रक्रिया संख्या 1) सौंपी जाती है और इसका कोई नियंत्रण टर्मिनल नहीं होता है। हालाँकि, अधिक सामान्यतः, एक डेमन कोई भी पृष्ठभूमि प्रक्रिया हो सकती है, चाहे वह init प्रक्रिया का बच्चा हो या नहीं।
कड़ाई से तकनीकी अर्थ में, एक यूनिक्स जैसी प्रणाली प्रक्रिया एक डेमॉन है जब इसकी मूल प्रक्रिया समाप्त हो जाती है और डेमन को इसकी मूल प्रक्रिया के रूप में इनिट प्रक्रिया (प्रक्रिया संख्या 1) सौंपी जाती है और इसका कोई नियंत्रण टर्मिनल नहीं होता है। हालाँकि, अधिक सामान्यतः, एक डेमन कोई भी परोक्ष प्रक्रम हो सकती है, चाहे वह इनिट प्रक्रिया का बच्चा हो या नहीं।


एक यूनिक्स-जैसी प्रणाली पर, एक प्रक्रिया के लिए डेमॉन बनने की सामान्य विधि, जब प्रक्रिया को [[कमांड लाइन]] से या स्टार्टअप स्क्रिप्ट से शुरू किया जाता है जैसे कि एक इनिट स्क्रिप्ट या [[सिस्टमस्टार्टर]] स्क्रिप्ट में शामिल है:
एक यूनिक्स-जैसी प्रणाली पर, एक प्रक्रिया के लिए डेमॉन बनने की सामान्य विधि, जब प्रक्रिया को [[कमांड लाइन]] से या स्टार्टअप स्क्रिप्ट से शुरू किया जाता है जैसे कि एक इनिट स्क्रिप्ट या [[सिस्टमस्टार्टर]] स्क्रिप्ट में शामिल है:
* वैकल्पिक रूप से पर्यावरण से अनावश्यक चरों को हटाना।
* वैकल्पिक रूप से पर्यावरण से अनावश्यक चरों को हटाना।
* [[ कांटा (सिस्टम कॉल) ]] और एग्जिट (सिस्टम कॉल) (फोर्क के पैरेंट हाफ में) द्वारा [[पृष्ठभूमि (कंप्यूटर सॉफ्टवेयर)]] के रूप में निष्पादित करना। यह डेमॉन के जनक (शेल या स्टार्टअप प्रक्रिया) को बाहर निकलने की सूचना प्राप्त करने और इसके सामान्य निष्पादन को जारी रखने की अनुमति देता है।
* [[ कांटा (सिस्टम कॉल) | दिशाखित (सिस्टम कॉल)]] और एग्जिट (सिस्टम कॉल) (दिशाखित के पैरेंट हाफ में) द्वारा [[पृष्ठभूमि (कंप्यूटर सॉफ्टवेयर)|परोक्ष (कंप्यूटर सॉफ्टवेयर)]] के रूप में निष्पादित करना। यह डेमॉन के जनक (शेल या स्टार्टअप प्रक्रिया) को बाहर निकलने की सूचना प्राप्त करने और इसके सामान्य निष्पादन को जारी रखने की अनुमति देता है।
* आह्वान सत्र से अलग होना, आमतौर पर एक ही ऑपरेशन द्वारा पूरा किया जाता है, <code>setsid()</code>:
* आह्वान सत्र से अलग होना, सामान्यतः एक ही प्रचालन द्वारा पूरा किया जाता है, <code>setsid()</code>:
** नियंत्रित ट्टी (यूनिक्स) से अलग करना।
** नियंत्रित टीटीवाई (यूनिक्स) से अलग करना।
** एक नया सत्र बनाना और उस सत्र का सत्र नेता बनना।
** एक नया सत्र बनाना और उस सत्र का सत्र नेता बनना।
** एक [[प्रक्रिया समूह]] नेता बनना।
** एक [[प्रक्रिया समूह]] नेता बनना।
* यदि डेमन यह सुनिश्चित करना चाहता है कि यह दुर्घटना से भी एक नया नियंत्रण ट्टी प्राप्त नहीं करेगा (जो तब होता है जब बिना नियंत्रण ट्टी के एक सत्र नेता एक मुक्त ट्टी खोलता है), यह फिर से कांटा और बाहर निकल सकता है। इसका मतलब है कि यह अब नए सत्र में एक सत्र नेता नहीं है, और एक नियंत्रक ट्टी हासिल नहीं कर सकता है।
* यदि डेमन यह सुनिश्चित करना चाहता है कि यह दुर्घटना से भी एक नया नियंत्रण टीटीवाई प्राप्त नहीं करेगा (जो तब होता है जब बिना नियंत्रण टीटीवाई के एक सत्र नेता एक मुक्त टीटीवाई आवरणता है), यह फिर से दिशाखित और बाहर निकल सकता है। इसका मतलब है कि यह अब नए सत्र में एक सत्र नेता नहीं है, और एक नियंत्रक टीटीवाई हासिल नहीं कर सकता है।
* [[ मूल निर्देशिका ]] सेट करना ({{mono|/}}) वर्तमान कार्यशील निर्देशिका के रूप में ताकि प्रक्रिया किसी भी निर्देशिका को उपयोग में न रखे जो [[माउंट (कंप्यूटिंग)]] फ़ाइल सिस्टम पर हो सकती है (इसे अनमाउंट करने की अनुमति)।
* [[ मूल निर्देशिका | मूल निर्देशिका]] सेट करना ({{mono|/}}) वर्तमान कार्यशील निर्देशिका के रूप में ताकि प्रक्रिया किसी भी निर्देशिका को उपयोग में न रखे जो [[माउंट (कंप्यूटिंग)]] फ़ाइल सिस्टम पर हो सकती है (इसे अनमाउंट करने की अनुमति)।
* अनुमति देने के लिए [[उमास्क]] को 0 में बदलना <code>open()</code>, <code>creat()</code>, और अन्य ऑपरेटिंग सिस्टम अपने स्वयं के अनुमति मास्क प्रदान करने के लिए कॉल करते हैं और कॉल करने वाले के उमास्क पर निर्भर नहीं होते हैं।
* अनुमति देने के लिए [[उमास्क]] को 0 में बदलना <code>open()</code>, <code>creat()</code>, और अन्य प्रचालन तंत्र अपने स्वयं के अनुमति मास्क प्रदान करने के लिए कॉल करते हैं और कॉल करने वाले के उमास्क पर निर्भर नहीं होते हैं।
* [[फाइल डिस्क्रिप्टर]] 0, 1 और 2 को मानक स्ट्रीम ([[stdin]], [[stdout]] और s[[tderr]]) के लिए पुनर्निर्देशित करना {{mono|/dev/null}} या एक [[कंप्यूटर डेटा लॉगिंग]], और मूल प्रक्रिया से विरासत में मिली अन्य सभी फाइल डिस्क्रिप्टर को बंद करना।
* [[फाइल डिस्क्रिप्टर]] 0, 1 और 2 को मानक स्ट्रीम ([[stdin]], [[stdout]] और s[[tderr]]) के लिए पुनर्निर्देशित करना {{mono|/dev/null}} या एक [[कंप्यूटर डेटा लॉगिंग]], और मूल प्रक्रिया से विरासत में मिली अन्य सभी फाइल डिस्क्रिप्टर को बंद करना।


यदि प्रक्रिया [[ सुपर सर्वर ]] डेमन द्वारा शुरू की जाती है, जैसे कि {{mono|[[inetd]]}}, {{mono|[[launchd]]}}, या {{mono|[[systemd]]}}, सुपर-सर्वर डेमॉन प्रक्रिया के लिए उन कार्यों को करेगा,<ref name=inetd>{{man|8|inetd|FreeBSD}}</ref><ref>{{man|5|launchd.plist|Darwin}}</ref><ref name=systemd_service>{{cite web|title=systemd.service|url=http://www.freedesktop.org/software/systemd/man/systemd.service.html|publisher=freedesktop.org|access-date=August 25, 2012}</ref> पुरानी शैली के डेमॉन को छोड़कर जिन्हें रन अंडर में परिवर्तित नहीं किया गया है {{mono|systemd}} और के रूप में निर्दिष्ट {{mono|Type{{=}}forking}}<ref name=systemd_service/>और बहु-थ्रेडेड डेटाग्राम सर्वर के अंतर्गत {{mono|inetd}}.<ref name=inetd/>
यदि प्रक्रिया [[ सुपर सर्वर |सुपर सर्वर]] डेमन द्वारा शुरू की जाती है, जैसे कि {{mono|[[inetd]]}}, {{mono|[[launchd]]}}, या {{mono|[[systemd]]}}, सुपर-सर्वर डेमॉन प्रक्रिया के लिए उन कार्यों को करेगा,<ref name=inetd>{{man|8|inetd|FreeBSD}}</ref><ref>{{man|5|launchd.plist|Darwin}}</ref><ref name=systemd_service>{{cite web|title=systemd.service|url=http://www.freedesktop.org/software/systemd/man/systemd.service.html|publisher=freedesktop.org|access-date=August 25, 2012}</ref> पुरानी शैली के डेमॉन को छोड़कर जिन्हें रन अंडर में परिवर्तित नहीं किया गया है {{mono|systemd}} और के रूप में निर्दिष्ट {{mono|Type{{=}}forking}}<ref name=systemd_service/>और बहु-थ्रेडेड डेटाग्राम सर्वर के अंतर्गत {{mono|inetd}}.<ref name=inetd/>




Line 49: Line 48:


=== विंडोज एनटी ===
=== विंडोज एनटी ===
[[माइक्रोसॉफ्ट विंडोज एनटी]] सिस्टम पर, विंडोज सर्विसेज नामक प्रोग्राम डेमॉन के कार्य करते हैं। वे प्रक्रियाओं के रूप में चलते हैं, आमतौर पर मॉनिटर, कीबोर्ड और माउस के साथ इंटरैक्ट नहीं करते हैं, और बूट समय पर ऑपरेटिंग सिस्टम द्वारा लॉन्च किए जा सकते हैं। [[विंडोज 2000]] और बाद के संस्करणों में, विंडोज सेवाओं को कॉन्फ़िगर किया गया है और मैन्युअल रूप से [[ नियंत्रण कक्ष (विंडोज़) ]], एक समर्पित नियंत्रण / कॉन्फ़िगरेशन प्रोग्राम, [[ सेवा नियंत्रण प्रबंधक ]] के सर्विस कंट्रोलर घटक का उपयोग करके शुरू और बंद कर दिया गया है ({{mono|sc}} कमांड), द {{mono|net start}} और {{mono|net stop}} आदेश या [[PowerShell]] स्क्रिप्टिंग सिस्टम।
[[माइक्रोसॉफ्ट विंडोज एनटी]] सिस्टम पर, विंडोज सर्विसेज नामक प्रोग्राम डेमॉन के कार्य करते हैं। वे प्रक्रियाओं के रूप में चलते हैं, सामान्यतः मॉनिटर, कीबोर्ड और माउस के साथ इंटरैक्ट नहीं करते हैं, और बूट समय पर प्रचालन तंत्र द्वारा प्रमोचन किए जा सकते हैं। [[विंडोज 2000]] और बाद के संस्करणों में, विंडोज सेवाओं को कॉन्फ़िगर किया गया है और मैन्युअल रूप से [[ नियंत्रण कक्ष (विंडोज़) |नियंत्रण कक्ष (विंडोज़)]] , एक समर्पित नियंत्रण / कॉन्फ़िगरेशन प्रोग्राम, [[ सेवा नियंत्रण प्रबंधक |सेवा नियंत्रण प्रबंधक]] के सर्विस कंट्रोलर घटक का उपयोग करके शुरू और बंद कर दिया गया है ({{mono|sc}} कमांड), द {{mono|net start}} और {{mono|net stop}} आदेश या [[PowerShell]] स्क्रिप्टिंग सिस्टम।


हालाँकि, कोई भी विंडोज़ एप्लिकेशन केवल एक सेवा नहीं, बल्कि एक डेमॉन की भूमिका निभा सकता है, और कुछ विंडोज़ डेमॉन के पास सामान्य प्रक्रिया के रूप में चलने का विकल्प होता है।
हालाँकि, कोई भी विंडोज़ एप्लिकेशन केवल एक सेवा नहीं, बल्कि एक डेमॉन की भूमिका निभा सकता है, और कुछ विंडोज़ डेमॉन के पास सामान्य प्रक्रिया के रूप में चलने का विकल्प होता है।


=== क्लासिक [[मैक ओएस]] और macOS ===
=== क्लासिक [[मैक ओएस]] और macOS ===
[[क्लासिक मैक ओएस]] पर, ऑपरेटिंग सिस्टम को पैच करने वाले स्टार्टअप समय पर लोड की गई फ़ाइलों द्वारा वैकल्पिक सुविधाएँ और सेवाएँ प्रदान की गईं; इन्हें [[एक्सटेंशन (मैक ओएस)]] और [[ नियंत्रण कक्ष (मैक ओएस) ]] के रूप में जाना जाता था। क्लासिक मैक ओएस के बाद के संस्करणों ने इन्हें पूरी तरह से विकसित एक्सटेंशन (मैक ओएस) # फेसलेस पृष्ठभूमि अनुप्रयोगों के साथ संवर्धित किया: पृष्ठभूमि में चलने वाले नियमित अनुप्रयोग। उपयोगकर्ता के लिए, इन्हें अभी भी नियमित सिस्टम एक्सटेंशन के रूप में वर्णित किया गया था।
[[क्लासिक मैक ओएस]] पर, प्रचालन तंत्र को पैच करने वाले स्टार्टअप समय पर लोड की गई फ़ाइलों द्वारा वैकल्पिक सुविधाएँ और सेवाएँ प्रदान की गईं; इन्हें [[एक्सटेंशन (मैक ओएस)]] और [[ नियंत्रण कक्ष (मैक ओएस) |नियंत्रण कक्ष (मैक ओएस)]] के रूप में जाना जाता था। क्लासिक मैक ओएस के बाद के संस्करणों ने इन्हें पूर्ण रूप से विकसित एक्सटेंशन (मैक ओएस) # फेसलेस परोक्ष अनुप्रयोगों के साथ संवर्धित किया: परोक्ष में चलने वाले नियमित अनुप्रयोग। उपयोगकर्ता के लिए, इन्हें अभी भी नियमित सिस्टम एक्सटेंशन के रूप में वर्णित किया गया था।


macOS, जो एक यूनिक्स सिस्टम है, डेमॉन का उपयोग करता है, लेकिन सेवा शब्द का उपयोग सॉफ्टवेयर को नामित करने के लिए करता है, जो सेवा मेनू से चुने गए कार्य करता है #macOS, डेमॉन के लिए उस शब्द का उपयोग करने के बजाय, जैसा कि विंडोज करता है।
macOS, जो एक यूनिक्स सिस्टम है, डेमॉन का उपयोग करता है, परन्तु सेवा शब्द का उपयोग सॉफ्टवेयर को नामित करने के लिए करता है, जो सेवा मेनू से चुने गए कार्य करता है #macOS, डेमॉन के लिए उस शब्द का उपयोग करने के अतिरिक्त , जैसा कि विंडोज करता है।


== यह भी देखें ==
== यह भी देखें ==

Revision as of 21:28, 21 May 2023

कुछ लिनक्स डेस्कटॉप वातावरण के घटक जो डेमॉन हैं, उनमें डी-बस, नेटवर्क प्रबंधक (यहां अननेटवर्क कहा जाता है), पल्सऑडियो (यूसाउंड) और अवही (सॉफ्टवेयर) शामिल हैं।

मल्टीटास्किंग कंप्यूटर प्रचालन तंत्र में, एक डेमन (/ˈdmən/ या /ˈdmən/)[1] एक कंप्यूटर प्रोग्राम है जो एक अन्योन्यक्रिया उपयोगकर्ता के सीधे नियंत्रण में होने के अतिरिक्त परोक्ष प्रक्रम के रूप में चलता है। परंपरागत रूप से, एक डेमन के प्रक्रिया नाम अक्षर डी के साथ समाप्त होते हैं, स्पष्टीकरण के लिए कि प्रक्रिया वस्तुतः एक डेमन है, और एक डेमन और एक सामान्य कंप्यूटर प्रोग्राम के बीच अंतर करने के लिए है। उदाहरण के लिए, syslogd एक डेमन है जो तंत्र प्रचालेख सुविधा को लागू करता है, और sshd एक डेमॉन है जो आगामी सुरक्षित आवरण सम्बन्धों की सेवा करता है।

एक यूनिक्स वातावरण में, डेमन की मूल प्रक्रिया प्रायः, परन्तु सदैव नहीं, इनिट प्रक्रिया होती है। एक डेमॉन सामान्यतः या तो एक प्रक्रम दिशाखित (प्रचालन तंत्र) द्वारा एक चाइल्ड प्रक्रम द्वारा बनाया जाता है और फिर तुरंत बाहर निकल जाता है, जिससे इनिट चाइल्ड प्रक्रम को अपनाने का कारण बनता है, या इनिट प्रक्रम द्वारा सीधे डेमन को प्रमोचन किया जाता है। इसके अतिरिक्त , दिशाखित और एक्साइटिंग द्वारा प्रमोचन किए गए एक डेमॉन को सामान्यतः अन्य प्रचालन करने चाहिए, जैसे कि किसी भी नियंत्रक टीटीवाई (यूनिक्स) से प्रक्रिया को अलग करना। इस प्रकार की प्रक्रियाओं को प्रायः यूनिक्स में डेमन (3) जैसे विभिन्न सुविधा परिच्छेदनों में लागू किया जाता है।

सिस्टम प्रायः बूटिंग के समय डेमॉन शुरू करता है जो नेटवर्क अनुरोध, हार्डवेयर गतिविधि, या अन्य प्रोग्राम को कुछ कार्य करके प्रतिक्रिया देगा। क्रॉन जैसे डेमॉन भी निर्धारित समय पर परिभाषित कार्य कर सकते हैं।

शब्दावली

यह शब्द प्रोजेक्ट मैक | एमआईटी के प्रोजेक्ट मैक के प्रोग्रामर्स द्वारा गढ़ा गया था। 1963 में MIT कंप्यूटर साइंस एंड आर्टिफिशियल इंटेलिजेंस लेबोरेटरी#प्रोजेक्ट MAC पर काम करने वाले फर्नांडो जे. कॉर्बेटो के अनुसार, उनकी टीम डेमन शब्द का उपयोग करने वाली पहली टीम थी, जो मैक्सवेल के दानव से प्रेरित थी, जो भौतिकी और ऊष्मप्रवैगिकी में एक काल्पनिक एजेंट था जिसने छँटाई करने में मदद की अणु, बताते हुए, हमने काल्पनिक रूप से डेमन शब्द का उपयोग उन परोक्ष प्रक्रमओं का वर्णन करने के लिए करना शुरू किया जो सिस्टम के काम करने के लिए अथक रूप से काम करती हैं।[2] यूनिक्स सिस्टम ने इस शब्दावली को विरासत में मिला है। मैक्सवेल का दानव परोक्ष में काम कर रहे एक अलौकिक प्राणी के रूप में एक डेमन (पौराणिक कथा) की ग्रीक पौराणिक कथाओं की व्याख्या के अनुरूप है।

सामान्य अर्थ में, ग्रीक भाषा δαίμων से डेमन शब्द दानव का एक पुराना रूप है। यूनिक्स सिस्टम एडमिनिस्ट्रेशन हैंडबुक में एवी नेमेथ डेमॉन के बारे में निम्नलिखित बताता है:[3]

Many people equate the word "daemon" with the word "demon", implying some kind of satanic connection between UNIX and the underworld. This is an egregious misunderstanding. "Daemon" is actually a much older form of "demon"; daemons have no particular bias towards good or evil, but rather serve to help define a person's character or personality. The ancient Greeks' concept of a "personal daemon" was similar to the modern concept of a "guardian angel"—eudaemonia is the state of being helped or protected by a kindly spirit. As a rule, UNIX systems seem to be infested with both daemons and demons.

पौराणिक प्रतीकवाद का एक और लक्षण वर्णन यह है कि एक दानव एक ऐसी चीज है जो अभी तक दिखाई नहीं देती है और सदैव मौजूद रहती है और अपनी इच्छा से काम करती है। थियेज में, प्लेटो को जिम्मेदार ठहराते हुए, सुकरात ने अपने स्वयं के व्यक्तिगत डेमन का वर्णन एक नैतिक विवेक की आधुनिक अवधारणा के जैसे किया: देवताओं के पक्ष ने मुझे एक अद्भुत उपहार दिया है, जिसने मुझे बचपन से कभी नहीं छोड़ा है। यह एक ऐसी आवाज है, जब यह खुद को सुनाती है, जो मैं करने जा रहा हूं उससे मुझे रोकता है और मुझे कभी भी आग्रह नहीं करता है।[citation needed]

आधुनिक उपयोग में, डेमन शब्द का उच्चारण किया जाता है /ˈdmən/ DEE-mən. कंप्यूटर सॉफ्टवेयर के संदर्भ में, मूल उच्चारण /ˈdmən/ की ओर चला गया है /ˈdmən/ DAY-mən कुछ वक्ताओं के लिए।[1]

डेमॉन के लिए वैकल्पिक शब्द विंडोज़ सेवा (विंडोज में उपयोग किया जाता है, विंडोज एनटी के बाद से, और बाद में लिनक्स में भी), स्टार्टेड टास्क (आईबीएम जेड/ओएस),[4] और घोस्ट जॉब (एक्सडीएस यूनिवर्सल टाइम-शेयरिंग सिस्टम)।

कंप्यूटर उपयोग के लिए शब्द को अपनाने के बाद, इसे डिस्क और निष्पादन मॉनिटर के लिए एक संक्षिप्त नाम के रूप में युक्तिसंगत बनाया गया था।[5] कंप्यूटर नेटवर्क से जुड़ने वाले डेमॉन नेटवर्क सेवाओं के उदाहरण हैं।

कार्यान्वयन

यूनिक्स जैसी प्रणाली

कड़ाई से तकनीकी अर्थ में, एक यूनिक्स जैसी प्रणाली प्रक्रिया एक डेमॉन है जब इसकी मूल प्रक्रिया समाप्त हो जाती है और डेमन को इसकी मूल प्रक्रिया के रूप में इनिट प्रक्रिया (प्रक्रिया संख्या 1) सौंपी जाती है और इसका कोई नियंत्रण टर्मिनल नहीं होता है। हालाँकि, अधिक सामान्यतः, एक डेमन कोई भी परोक्ष प्रक्रम हो सकती है, चाहे वह इनिट प्रक्रिया का बच्चा हो या नहीं।

एक यूनिक्स-जैसी प्रणाली पर, एक प्रक्रिया के लिए डेमॉन बनने की सामान्य विधि, जब प्रक्रिया को कमांड लाइन से या स्टार्टअप स्क्रिप्ट से शुरू किया जाता है जैसे कि एक इनिट स्क्रिप्ट या सिस्टमस्टार्टर स्क्रिप्ट में शामिल है:

  • वैकल्पिक रूप से पर्यावरण से अनावश्यक चरों को हटाना।
  • दिशाखित (सिस्टम कॉल) और एग्जिट (सिस्टम कॉल) (दिशाखित के पैरेंट हाफ में) द्वारा परोक्ष (कंप्यूटर सॉफ्टवेयर) के रूप में निष्पादित करना। यह डेमॉन के जनक (शेल या स्टार्टअप प्रक्रिया) को बाहर निकलने की सूचना प्राप्त करने और इसके सामान्य निष्पादन को जारी रखने की अनुमति देता है।
  • आह्वान सत्र से अलग होना, सामान्यतः एक ही प्रचालन द्वारा पूरा किया जाता है, setsid():
    • नियंत्रित टीटीवाई (यूनिक्स) से अलग करना।
    • एक नया सत्र बनाना और उस सत्र का सत्र नेता बनना।
    • एक प्रक्रिया समूह नेता बनना।
  • यदि डेमन यह सुनिश्चित करना चाहता है कि यह दुर्घटना से भी एक नया नियंत्रण टीटीवाई प्राप्त नहीं करेगा (जो तब होता है जब बिना नियंत्रण टीटीवाई के एक सत्र नेता एक मुक्त टीटीवाई आवरणता है), यह फिर से दिशाखित और बाहर निकल सकता है। इसका मतलब है कि यह अब नए सत्र में एक सत्र नेता नहीं है, और एक नियंत्रक टीटीवाई हासिल नहीं कर सकता है।
  • मूल निर्देशिका सेट करना (/) वर्तमान कार्यशील निर्देशिका के रूप में ताकि प्रक्रिया किसी भी निर्देशिका को उपयोग में न रखे जो माउंट (कंप्यूटिंग) फ़ाइल सिस्टम पर हो सकती है (इसे अनमाउंट करने की अनुमति)।
  • अनुमति देने के लिए उमास्क को 0 में बदलना open(), creat(), और अन्य प्रचालन तंत्र अपने स्वयं के अनुमति मास्क प्रदान करने के लिए कॉल करते हैं और कॉल करने वाले के उमास्क पर निर्भर नहीं होते हैं।
  • फाइल डिस्क्रिप्टर 0, 1 और 2 को मानक स्ट्रीम (stdin, stdout और stderr) के लिए पुनर्निर्देशित करना /dev/null या एक कंप्यूटर डेटा लॉगिंग, और मूल प्रक्रिया से विरासत में मिली अन्य सभी फाइल डिस्क्रिप्टर को बंद करना।

यदि प्रक्रिया सुपर सर्वर डेमन द्वारा शुरू की जाती है, जैसे कि inetd, launchd, या systemd, सुपर-सर्वर डेमॉन प्रक्रिया के लिए उन कार्यों को करेगा,[6][7][8] पुरानी शैली के डेमॉन को छोड़कर जिन्हें रन अंडर में परिवर्तित नहीं किया गया है systemd और के रूप में निर्दिष्ट Type=forking[8]और बहु-थ्रेडेड डेटाग्राम सर्वर के अंतर्गत inetd.[6]


एमएस-डॉस

DOS वातावरण में, डेमॉन-जैसे प्रोग्राम टर्मिनेट-एंड-स्टे-रेजिडेंट प्रोग्राम (TSR) के रूप में लागू किए गए थे।

विंडोज एनटी

माइक्रोसॉफ्ट विंडोज एनटी सिस्टम पर, विंडोज सर्विसेज नामक प्रोग्राम डेमॉन के कार्य करते हैं। वे प्रक्रियाओं के रूप में चलते हैं, सामान्यतः मॉनिटर, कीबोर्ड और माउस के साथ इंटरैक्ट नहीं करते हैं, और बूट समय पर प्रचालन तंत्र द्वारा प्रमोचन किए जा सकते हैं। विंडोज 2000 और बाद के संस्करणों में, विंडोज सेवाओं को कॉन्फ़िगर किया गया है और मैन्युअल रूप से नियंत्रण कक्ष (विंडोज़) , एक समर्पित नियंत्रण / कॉन्फ़िगरेशन प्रोग्राम, सेवा नियंत्रण प्रबंधक के सर्विस कंट्रोलर घटक का उपयोग करके शुरू और बंद कर दिया गया है (sc कमांड), द net start और net stop आदेश या PowerShell स्क्रिप्टिंग सिस्टम।

हालाँकि, कोई भी विंडोज़ एप्लिकेशन केवल एक सेवा नहीं, बल्कि एक डेमॉन की भूमिका निभा सकता है, और कुछ विंडोज़ डेमॉन के पास सामान्य प्रक्रिया के रूप में चलने का विकल्प होता है।

क्लासिक मैक ओएस और macOS

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

macOS, जो एक यूनिक्स सिस्टम है, डेमॉन का उपयोग करता है, परन्तु सेवा शब्द का उपयोग सॉफ्टवेयर को नामित करने के लिए करता है, जो सेवा मेनू से चुने गए कार्य करता है #macOS, डेमॉन के लिए उस शब्द का उपयोग करने के अतिरिक्त , जैसा कि विंडोज करता है।

यह भी देखें

संदर्भ

  1. 1.0 1.1 Eric S. Raymond. "daemon". The Jargon File. Retrieved 2008-10-22.
  2. "डेमन शब्द की उत्पत्ति".
  3. "बीएसडी डेमन". Freebsd.org. Retrieved 2008-11-15.
  4. "Glossary of z/OS terms and abbreviations". IBM Documentation. IBM. 31 January 2006.
  5. "डेमन परिभाषा". www.linfo.org.
  6. 6.0 6.1 inetd(8) – FreeBSD System Manager's Manual
  7. launchd.plist(5) – Darwin and macOS File Formats Manual
  8. 8.0 8.1 {{cite web|title=systemd.service|url=http://www.freedesktop.org/software/systemd/man/systemd.service.html%7Cpublisher=freedesktop.org%7Caccess-date=August 25, 2012}


बाहरी संबंध