अनलोड करता है तो मेरे पास एक मॉड्यूल है जो स्थिर लाइब्रेरी से कक्षा में कुछ कार्यक्षमता को लपेटने के लिए ctypes का उपयोग करता है। जब मॉड्यूल लोड होता है, तो यह स्थिर पुस्तकालय में प्रारंभिक कार्य को कॉल करता है। जब मॉड्यूल अनलोड किया जाता है (संभावित रूप से जब दुभाषिया निकलता है), लाइब्रेरी में एक अनलोड फ़ंक्शन है जिसे मैं कॉल करना चाहता हूं। मैं यह हुक कैसे बना सकता हूं? (?): एक डेकोरेटर के रूप में register
का उपयोग कर,पता लगाएं कि जब कोई पाइथन मॉड्यूल
import mymodule
import atexit
# call mymodule.unload('param1', 'param2') when the interpreter exits:
atexit.register(mymodule.unload, 'param1', 'param2')
डॉक्स से एक और सरल उदाहरण:
atexit एक असुविधाजनक/अशुद्ध समाधान हो सकता है, खासकर अगर प्रक्रिया कांटा आदि। शायद जादू को छोड़ना और "क्लीनअप"/अंतिमकरण समारोह प्रदान करना बेहतर है जिसे मॉड्यूल उपयोगकर्ता को कॉल करना चाहिए? – u0b34a0f6ae
यदि आप 'फोर्क' करते हैं तो आप बच्चे की प्रक्रिया को भी साफ करना चाहते हैं, क्योंकि यह सभी मेमोरी संरचनाओं को साझा करेगा। – nosklo
क्या किसी अन्य परिस्थिति के कारण मॉड्यूल अनलोड होने के पल को पकड़ने का कोई तरीका है? (उदा।, अगर उस पर 'रीलोड'' कहा जाता है?) – max