पाइथन डिफ़ॉल्ट रूप से कवर के तहत क्या करता है यदि उसे SIGTERM प्राप्त होता है लेकिन इसके लिए कोई सिग्नल हैंडलर पंजीकृत नहीं है?पायथन: SIGTERM का डिफ़ॉल्ट प्रबंधन क्या है?
उत्तर
कुछ भी नहीं। पाइथन स्वयं इसके लिए सिग्नल हैंडलर पंजीकृत नहीं करता है। आप इंटरैक्टिव दुभाषिया में यह जांच कर सकते हैं:
>>> import signal
>>> signal.signal(signal.SIGTERM, signal.SIG_DFL)
0
>>> signal.SIG_DFL
0
कि signal.SIGTERM
के लिए signal.SIG_DFL लौटने signal.signal()
को दर्शाता है। signal.SIGINT
के साथ कंट्रास्ट, जिसका कोई डिफ़ॉल्ट संकेत हैंडलर है (जो KeyboardInterrupt
को जन्म देती है): थॉमस Wouters के जवाब पर
>>> signal.signal(signal.SIGINT, signal.SIG_DFL)
<built-in function default_int_handler>
भवन, अजगर SIGTERM संकेत के लिए कोई हैंडलर रजिस्टर नहीं है। हम इसे देखकर देख सकते हैं:
In[23]: signal.SIG_DFL == signal.signal(signal.SIGTERM,signal.SIG_DFL)
Out[23]: True
इसका मतलब है कि सिस्टम डिफ़ॉल्ट कार्रवाई करेगा। लिनक्स पर, एक SIGTERM के लिए डिफ़ॉल्ट कार्रवाई (the signal man page के अनुसार) प्रक्रिया को समाप्त करना है।
एक प्रक्रिया समाप्त मतलब यह है कि:
प्रक्रिया बस किसी भी अधिक समय स्लाइस जिसके दौरान यह कोड निष्पादित कर सकते हैं आवंटित नहीं किया जाएगा।
- इसका मतलब यह है कि यह एक अपवाद बढ़ा देंगे नहीं, या कोशिश में कोड फोन: अंत में: ब्लॉक, या संदर्भ प्रबंधकों की बाहर निकलने विधि। यह उन चीजों को नहीं करेगा क्योंकि उस विशेष पायथन दुभाषिया को कभी भी एक और निर्देश निष्पादित करने का मौका नहीं मिलेगा।
प्रक्रिया की स्मृति और अन्य संसाधन (खुली फ़ाइलें, नेटवर्क सॉकेट, आदि ...) को शेष सिस्टम में वापस जारी किया जाएगा।
यह इतना सच है, महत्वपूर्ण है - और कम से कम मेरे लिए - अनजान। मैंने सोचा कि आखिरकार क्लॉज का पूरा व्यवसाय और संदर्भ-प्रबंधकों के बाहर निकलने के तरीकों को यह सुनिश्चित करना था कि प्रश्न में कोड हमेशा चल रहा है (सिगकिल को छोड़कर, जिसे मैं जानता था कि सिस्टम स्तर पर संभाला जाता है)। इसके साथ कई दिनों तक संघर्ष किया और केवल यह अहसास हुआ कि आपने पहले ही अपने उत्तर में प्रस्तुत किया है। मुझे इसे ध्यान में रखना होगा। – matlehmann
- 1. एक SIGTERM
- 2. अमेज़ॅन लोचदार MapReduce - SIGTERM
- 3. पायथन: डिफ़ॉल्ट डिक्शन का डिफ़ॉल्ट डिक्ट?
- 4. पायथन में डिफ़ॉल्ट __hash__ क्या है?
- 5. पायथन में डिफ़ॉल्ट पैरामीटर का दायरा क्या है?
- 6. सेलेनियम सर्वर SIGTERM
- 7. पायथन पर्यावरण में पर्ल आदतों का प्रबंधन
- 8. पायथन प्रक्रिया प्रबंधन
- 9. पतला SIGINT या SIGTERM का जवाब नहीं है
- 10. पायथन: डिफ़ॉल्ट तुलना
- 11. पायथन ऑप्टपरसे डिफ़ॉल्ट बनाम फ़ंक्शन डिफ़ॉल्ट
- 12. JQuery + Nuget पैकेज प्रबंधन डिफ़ॉल्ट स्थापना स्थान
- 13. पायथन का दशमलव कार्य 54 स्थानों पर क्यों डिफ़ॉल्ट है?
- 14. पायथन - एक डिफ़ॉल्ट मान लौटा रहा है
- 15. जेवीएम का डिफ़ॉल्ट एन्कोडिंग क्या है?
- 16. एक पुनरावर्तक का डिफ़ॉल्ट मान क्या है?
- 17. पायथन डिफ़ॉल्ट विरासत?
- 18. पायथन - फ्लास्क डिफ़ॉल्ट मार्ग संभव है?
- 19. लिनक्स प्रक्रिया प्रबंधन के लिए पायथन पुस्तकालय
- 20. पायथन कॉन्फ़िगरर्स को डिफ़ॉल्ट खंड
- 21. क्या संपत्ति प्रबंधन स्रोत नियंत्रण का एक सुपरसेट है
- 22. परिवर्तन प्रबंधन को संभालने का सबसे अच्छा तरीका क्या है?
- 23. PowerShell में त्रुटि प्रबंधन करने का सही तरीका क्या है?
- 24. डिफ़ॉल्ट पायथन कोडिंग शैली बदलें
- 25. टीपीएल कतार का प्रबंधन
- 26. डिफ़ॉल्ट डब्ल्यूसीएफ बाध्यकारी क्या है?
- 27. पायथन में "|" चिह्न का क्या अर्थ है?
- 28. पायथन का eval() क्या करता है?
- 29. क्या मुर्मूरशैश का शुद्ध पायथन कार्यान्वयन है?
- 30. पायथन में% s का क्या अर्थ है?
इसका यह भी अर्थ है कि 'sIGTERM' द्वारा प्रक्रिया समाप्त होने पर' atexit.register() 'के माध्यम से पंजीकृत कार्यों को नहीं कहा जाएगा। –
ठीक है, लेकिन यह क्या करता है? अशुद्ध से बाहर निकलें? इसे पूरी तरह से अनदेखा करें? कुछ और? – Lucretiel