मैं अभी इस मुद्दे से गुजरा हूं।
केवल process.exit()
. का उपयोग करने में समस्या यह है कि जिस प्रोग्राम पर मैं काम कर रहा हूं वह हैंडल बना रहा था, लेकिन उन्हें कभी नष्ट नहीं कर रहा था।
यह एक निर्देशिका को संसाधित कर रहा था और डेटा को orientdb . में डाल रहा था ।
इसलिए कुछ चीजें जो मैंने सीखी हैं, वह यह है कि संदर्भ से छुटकारा पाने से पहले डेटाबेस कनेक्शन को बंद करना होगा। और वह process.exit()
सभी मामलों का समाधान नहीं करता है।
जब मेरी परियोजना ने 2,000 फाइलों को संसाधित किया। यह लगभग 500 शेष रह जाएगा, और अतिरिक्त हैंडल उपलब्ध कार्यशील मेमोरी को भर देंगे। यानी यह जारी नहीं रह पाएगा। इसलिए कभी भी process.exit
तक न पहुंचें अंत में।
दूसरी ओर, यदि आप उन आइटम्स को बंद कर देते हैं जो ऐप को खुला रहने का अनुरोध कर रहे हैं, तो आप इसके स्रोत पर समस्या का समाधान कर सकते हैं।
दो "अनियंत्रित कार्य" जिनका मैं उपयोग करने में सक्षम था, वे थे
process._getActiveHandles();
process._getActiveRequests();
मुझे यकीन नहीं है कि इस प्रकार की समस्याओं को डीबग करने में कौन से अन्य कार्य मदद करेंगे, लेकिन ये अद्भुत थे।
वे एक सरणी लौटाते हैं, और आप इन विधियों का उपयोग करके इस बारे में बहुत कुछ निर्धारित कर सकते हैं कि आपकी प्रक्रिया में क्या चल रहा है।
मुझे उम्मीद है कि इससे किसी और को इस पोस्ट में ठोकर खाने में मदद मिलेगी।