Friday 2 February 2018

Waitforexit अतुल्यकालिक विकास


आपके पोस्ट के लिए धन्यवाद जहाँ तक मुझे पता है, यह एक गतिरोध का कारण हो सकता है, एक डेडलॉक स्थिति परिणाम अगर मूल प्रक्रिया कॉल p. StandardOutput. ReadToEnd p. StandardError. ReadToEnd के बाद और बच्चे प्रक्रिया अपनी त्रुटि स्ट्रीम को भरने के लिए पर्याप्त पाठ लिखता है। मूल प्रक्रिया को उसके मानक आउटपुट स्ट्रीम को बंद करने के लिए मूल प्रक्रिया के लिए अनिश्चित काल तक इंतजार करना होगा। माता पिता के पूर्ण मानक ईर्रर स्ट्रीम से पढ़ने के लिए बच्चे की प्रक्रिया अनिश्चित काल तक इंतजार करेगी। आप इन निर्भरताओं और उनकी गतिरोध क्षमता से बचने के लिए एसिंक्रोनस रीड ऑपरेशन्स का उपयोग कर सकते हैं। वैकल्पिक रूप से, आप दो थ्रेड बनाने और प्रत्येक स्ट्रीम के आउटपुट को अलग थ्रेड पर पढ़ने के द्वारा डेडलॉक की स्थिति से बच सकते हैं। दोनों स्ट्रिंग आउटपुट p. StandardOutput. ReadToEnd () स्ट्रिंग त्रुटि p. StandardError. ReadToEnd () के अंत में एक तुल्यकालिक पढ़ने को न करें, कम से कम एक स्ट्रीम पर अतुल्यकालिक पठन कार्रवाई का उपयोग करें। स्ट्रिंग त्रुटि p. StandardError. ReadToEnd () अधिक जानकारी के लिए, कृपया निम्नलिखित लिंक की जांच करें मेरे उत्तर की उम्मीद है मदद करता है ज़ीवेई चेन एमएसएफटी एमएसडीएन सामुदायिक सहायता हमें प्रतिक्रिया प्राप्त करें या Microsoft से कोड कोड का अनुरोध करें कृपया उत्तर को उत्तर के रूप में चिह्नित करने के लिए याद रखें यदि वे मदद करते हैं और उन्हें अचिह्नित करते हैं यदि वे कोई सहायता प्रदान नहीं करते हैं। मार्च 30, 2011 11:57 PM शुक्रवार, 25 मार्च, 2011 5:57 पूर्वाह्न इस तरह से इसकी कुछ: एमएसबीआईआईएलपैथ सीएसपीआरजफाइलपेथ टी: पैकेज पी: कॉन्फ़िगरेशन डीबगपैकेज लेकेशन स्थानपैथफ़ाइलनाम। ज़िप MSBuildPath - MSBuild का पथ है। exe जैसे c: प्रोग्राम फ़ाइलेंविज़ुअल स्टूडियो 10.0Common7IDEMSBuild. exe LocationPathFileName. Zip - जहां बिल्ड को बनाया जाना है - जैसे कि c: MyBuildLocationMyFile. Zip यह कमांड सब अच्छा है अगर मैं वीएस कमांड प्रॉम्प्ट के साथ इसे निष्पादित करता हूं, तो यह ठीक काम करता है। यह तब तक काम करता है जब तक मानक मानक और मानक आउटपुट से निपटने के लिए मेरे पास न हो। मानक ईर्रर और मानक आउटपुट को नजरअंदाज करने का कारण यह है कि वे ऐसे हैं जो नतीजे दे देते हैं - जैसे कि यह जानना कि सफलतापूर्वक काम किया गया था या इसमें कुछ त्रुटियां थीं गुरुवार, 24 मार्च, 2011 4:45 PM आपकी पोस्ट के लिए धन्यवाद। जहाँ तक मुझे पता है, यह एक गतिरोध का कारण हो सकता है, एक डेडलॉक स्थिति परिणाम अगर मूल प्रक्रिया कॉल p. StandardOutput. ReadToEnd p. StandardError. ReadToEnd के बाद और बच्चे प्रक्रिया अपनी त्रुटि स्ट्रीम को भरने के लिए पर्याप्त पाठ लिखता है। मूल प्रक्रिया को उसके मानक आउटपुट स्ट्रीम को बंद करने के लिए मूल प्रक्रिया के लिए अनिश्चित काल तक इंतजार करना होगा। माता पिता के पूर्ण मानक ईर्रर स्ट्रीम से पढ़ने के लिए बच्चे की प्रक्रिया अनिश्चित काल तक इंतजार करेगी। आप इन निर्भरताओं और उनकी गतिरोध क्षमता से बचने के लिए एसिंक्रोनस रीड ऑपरेशन्स का उपयोग कर सकते हैं। वैकल्पिक रूप से, आप दो थ्रेड बनाने और प्रत्येक स्ट्रीम के आउटपुट को अलग थ्रेड पर पढ़ने के द्वारा डेडलॉक की स्थिति से बच सकते हैं। दोनों स्ट्रिंग आउटपुट p. StandardOutput. ReadToEnd () स्ट्रिंग त्रुटि p. StandardError. ReadToEnd () के अंत में एक तुल्यकालिक पढ़ने को न करें, कम से कम एक स्ट्रीम पर अतुल्यकालिक पठन कार्रवाई का उपयोग करें। स्ट्रिंग त्रुटि p. StandardError. ReadToEnd () अधिक जानकारी के लिए, कृपया निम्नलिखित लिंक की जांच करें मेरे उत्तर की उम्मीद है मदद करता है ज़ीवेई चेन एमएसएफटी एमएसडीएन सामुदायिक सहायता हमें प्रतिक्रिया प्राप्त करें या Microsoft से कोड कोड का अनुरोध करें कृपया उत्तर को उत्तर के रूप में चिह्नित करने के लिए याद रखें यदि वे मदद करते हैं और उन्हें अचिह्नित करते हैं यदि वे कोई सहायता प्रदान नहीं करते हैं। 30 मार्च, 2011 11:18 अपराह्न शुक्रवार, 25 मार्च, 2011 5:57 पूर्वाह्न - Larkolais Gong - धागा को आगे बढ़ाने के लिए धन्यवाद। जवाब देने के लिए धन्यवाद। मैं इसे दूसरे दिन पढ़ता हूं कि गतिरोध प्रक्रिया को फांसी के कारण था और आपने मुझे यह महसूस किया कि ब्लॉग सही था। मैं चाहता हूं कि आपसे अनुरोध किया जाए कि डेडलॉक तब कैसे बनता है जब आप कर सकते हैं। मुझे यह अनिश्चित है कि यह कैसे हो सकता है, क्योंकि जब मैं परियोजना का निर्माण कर रहा था तब मेरी एमएसब्ल्यूइल्ड किसी भी त्रुटि या चेतावनियों को नहीं फेंक रही थी। मैं एक ऐसी स्थिति में छवि की कोशिश कर सकता हूं जहां उत्पादन होता, फिर एक त्रुटि, फिर से और आउटपुट और फिर एक त्रुटि (एक चक्रीय पैटर्न), जहां दोनों धाराओं के लिए एक गतिरोध पैदा करने का मौका है - लेकिन यहां पर कुछ मामलों में, मेरे निर्माण के साथ मुझे कभी कोई त्रुटि या चेतावनियां नहीं थीं मेरे पास मामलों थे, जब यह प्रक्रिया फांसी के बिना ठीक चलती थी - लेकिन अच्छी तरह से, मुझे लगता है कि मैं समझ सकता हूँ कि डेडलॉक को हर समय होने की आवश्यकता नहीं है, और यह अनियमित रूप से तब होता है जब भी बिना संसाधन संसाधनों पर प्रतीक्षा होती है। दिए गए कोड पर, मैं विधि का पता नहीं लगा सका क्या यह संभव है कि आप मुझे अतुल्यकालिक पढ़ने के लिए कैसे बता सकें इसके अलावा, मुख्य समस्या ये है कि, अगर मुझे स्ट्रिंग त्रुटि मेसेज है तो p. StandardError. ReadToEnd () यह एक गतिरोध में परिणाम है जहां मैं लाइन पी। रीडायरेक्ट स्टैण्डर्ड ऑप्टाटू को टिप्पणी करता हूं, फिर यह ठीक काम करता है। लेकिन फिर से, अगर मैं लाइन पर टिप्पणी करता हूं और मेरे पास त्रुटि संदेश प्रदर्शित होता है, तो मुझे इसे मिलता है: हैंडल अमान्य है हैंडल अमान्य है हैंडल अमान्य है हैंडल अमान्य हैंडल अमान्य है से छुटकारा पाने के लिए उन quotThe हैंडल अयोग्य संदेश है, मैं रीडायरेक्ट मानक औटपुट सच संपत्ति को सक्षम कर रहा था। क्या आप कृपया मुझे मार्गदर्शन कर सकते हैं System. Digagnostics. Process. WaitForExit विधि से बाहर निकलने के लिए संबंधित प्रक्रिया के लिए मिलीसेकंडों की निर्दिष्ट संख्या का इंतजार करने के लिए प्रक्रिया घटक का निर्देश देता है पैरामीटर मिलीसेकंड संबद्ध प्रक्रिया को बाहर निकलने के लिए इंतजार करने के लिए, मिलीसेकंड में समय की मात्रा। अधिकतम 32-बिट पूर्णांक का सबसे बड़ा संभव मूल्य है, जो ऑपरेटिंग सिस्टम को अनन्तता का प्रतिनिधित्व करता है। सही अगर संबंधित प्रक्रिया अन्यथा से बाहर हो गई है, गलत है। प्रक्रिया। वेटफॉरएक्सिट (इंट 32) ओवरलोड का उपयोग वर्तमान थ्रेड को समाप्त करने तक किया जाता है जब तक कि संबद्ध प्रक्रिया समाप्त नहीं होती है। यह अधिभार प्रक्रिया के घटक को बाहर निकलने के लिए समय की एक सीमित मात्रा में इंतजार करने के लिए निर्देश देता है। यदि संबद्ध प्रक्रिया अंतराल के अंत तक बाहर नहीं निकलती क्योंकि समाप्त करने का अनुरोध अस्वीकार कर दिया गया है, तो झूठी कॉलिंग प्रक्रिया में वापस आ जाता है। आप मिलीसेकंड के लिए एक नकारात्मक संख्या (टाइमआउट। अनन्त) निर्दिष्ट कर सकते हैं। और Process. WaitForExit (Int32) प्रक्रिया के रूप में एक ही व्यवहार करेंगे। WaitForExit अधिभार यदि आप विधि में 0 (शून्य) पास करते हैं, तो यह केवल तभी रिटर्न देता है जब प्रक्रिया पहले से ही बाहर निकलती है, यह तुरंत झूठी वापसी करता है। Netv35long और पहले के संस्करणों में, यदि मिलीसेकंड -1 था, तो Process. WaitForExit (Int32) अधिभार Int32.MaxValue मिलीसेकेंड (लगभग 24 दिन) के लिए इंतजार कर रहा था, अनिश्चित काल तक नहीं। जब मानक आउटपुट को अतुल्यकालिक ईवेंट हैंडलर पर रीडायरेक्ट किया गया है, तो संभव है कि आउटपुट प्रसंस्करण पूरा न हो जब यह विधि रिटर्न करे। यह सुनिश्चित करने के लिए कि अतुल्यकालिक इवेंट हैंडलिंग पूर्ण हो गया है, इस अधिभार से सत्य प्राप्त करने के बाद कोई पैरामीटर नहीं लेते हैं, Process. WaitForExit अधिभार को कॉल करें। यह सुनिश्चित करने में सहायता के लिए कि प्रक्रिया। विशिष्ट ईवेंट को विंडोज फॉर्म अनुप्रयोगों में सही तरीके से नियंत्रित किया जाता है, प्रक्रिया सेट करें। सिंक्रनाइज़िंग ऑब्जेक्ट प्रॉपर्टी जब किसी संबद्ध प्रक्रिया से बाहर निकलता है (ऑपरेटिंग सिस्टम द्वारा सामान्य या असामान्य समाप्ति के माध्यम से बंद किया जाता है), तो सिस्टम प्रक्रिया के बारे में प्रशासनिक जानकारी को संग्रहित करता है और उस घटक को वापस देता है जिसे प्रोसेस। वेटफॉरएक्सिट (Int32) कहा जाता था। प्रक्रिया घटक तब जानकारी तक पहुंच सकता है, जिसमें प्रक्रिया शामिल है। एक्सटटाइम प्रक्रिया का उपयोग करके। क्योंकि संबद्ध प्रक्रिया से बाहर निकलता है, घटक की प्रोसेस। हेंडल प्रॉपर्टी अब किसी मौजूदा प्रक्रिया संसाधन को इंगित नहीं करती है। इसके बजाय, संभाल प्रक्रिया संसाधन के बारे में केवल ऑपरेटिंग सिस्टम की जानकारी का उपयोग करने के लिए उपयोग किया जा सकता है सिस्टम से बाहर की जाने वाली प्रक्रियाओं के बारे में पता चल जाता है जो प्रोसेस घटकों द्वारा रिलीज़ नहीं किए गए हैं, इसलिए यह प्रक्रिया को जारी रखता है। एक्स्टटाइम और प्रोसेस। मेमोरी में जानकारी दें जब तक संसाधन घटक विशेष रूप से संसाधनों को मुक्त नहीं कर देते। इस कारण से, किसी भी समय आप प्रक्रिया को कॉल करते हैं। एक प्रक्रिया उदाहरण के लिए प्रारंभ करें, कॉल प्रक्रिया। बंद करें जब संबंधित प्रक्रिया समाप्त हो गई है और अब आपको उसके बारे में कोई प्रशासनिक जानकारी की आवश्यकता नहीं है। प्रक्रिया.प्रकाशित प्रक्रिया को आवंटित स्मृति को मुक्त कर दें। आवश्यकताएँ नामस्थान: System. Diagnostics विधानसभा: सिस्टम (System. dll में) विधानसभा संस्करण: 1.0.5000.0, 2.0.0.0, 4.0.0.0

No comments:

Post a Comment