Waitforexit अब इंतजार नहीं कर रहा है
मैं PowerShell से प्रोग्राम चलाने का प्रयास कर रहा हूं, बाहर निकलने का इंतजार कर रहा हूं, फिर ExitCode तक पहुंच प्राप्त करें, लेकिन अधिक भाग्य नहीं होने पर। मैं इसका उपयोग नहीं करना चाहता हूँ- प्रारंभ-प्रक्रिया के साथ प्रतीक्षा करें, क्योंकि मुझे पृष्ठभूमि में चलने के लिए कुछ प्रसंस्करण की आवश्यकता है यहां एक सरलीकृत टेस्ट स्क्रिप्ट है: इस स्क्रिप्ट पर चलने से नोटपैड शुरू हो जाएगा। इसके बाद मैन्युअल रूप से बंद हो जाता है, निकास कोड मुद्रित किया जाएगा, और इसे फिर से शुरू होगा, बिना - वाइट का उपयोग करें जब बाहर निकलते हैं, तो बाहर निकलने के लिए कोई बाहर निकलने नहीं दिया जाता है: मुझे कार्यक्रम शुरू करने और इसे छोड़ने के लिए प्रतीक्षा करने के लिए अतिरिक्त प्रोसेस करने में सक्षम होना चाहिए, इसलिए मैं - वाइट का उपयोग नहीं कर सकता। कोई भी विचार है कि मैं यह कैसे कर सकता हूं और अभी भी इस प्रक्रिया से एक्स्टटोड संपत्ति तक पहुंच सकता है। 21 अप्रैल को 1 9:23 बजे पूछा गया है यहां याद रखने के लिए दो चीजें हैं I एक - PassThru तर्क जोड़ने के लिए है और दो जोड़ना है- वेट तर्क। आपको इस दोष कनेक्ट की वजह से इंतजार तर्क जोड़ने की आवश्यकता है। Microsoft PowerShellfeedbackdetails520554start-process-does-return-exitcode-property एक बार जब आप ऐसा करते हैं, तो एक प्रक्रिया वस्तु वापस पारित हो जाती है और आप उस ऑब्जेक्ट के ExitCode गुण को देख सकते हैं। यहां एक उदाहरण है: यदि आप इसे बिना-पाथ-ट्रुरु चलाते हैं या-प्रतीक्षा करें, यह कुछ भी नहीं मुद्रित करेगा। कार्लआर यह प्रक्रिया वस्तु के कार्यान्वयन का एक झंकार है ExitCode प्रॉपर्टी का कार्यान्वयन पहले जांचता है कि प्रक्रिया समाप्त हो गई है। किसी कारण के लिए, यह कोड जो जांच करता है न केवल HasExited गुण पर दिखता है बल्कि यह भी पुष्टि करता है कि प्रोसेसेस हैंडल प्रोसेस ऑब्जेक्ट में मौजूद है और यदि यह नहीं है तो एक अपवाद फेंकता है। PowerShell उस अपवाद को रोकता है और रिक्त स्थान देता है। ndash Jakub Berezanski 11 फ़रवरी 1: 26 पढ़ता है कि एमएसडीएन इसके बारे में क्या कहता है: WaitForExit () () () अधिभार संबंधित धागा समाप्त होने तक वर्तमान धागा प्रतीक्षा करने के लिए उपयोग किया जाता है। इस विधि से बाहर निकलने की प्रक्रिया के लिए अनंत समय की प्रतीक्षा करने के लिए प्रक्रिया घटक को निर्देश दिया जाता है। इससे एक आवेदन को प्रत्युत्तर देना बंद हो सकता है। उदाहरण के लिए, यदि आप किसी उपयोगकर्ता इंटरफ़ेस के पास प्रोसेक्शन के लिए CloseMainWindow कहते हैं, तो संबंधित प्रक्रिया को समाप्त करने के लिए ऑपरेटिंग सिस्टम के लिए अनुरोध को नियंत्रित नहीं किया जा सकता है यदि प्रक्रिया को कभी भी इसके संदेश लूप में प्रवेश नहीं किया जाता है। यह ओवरलोड सुनिश्चित करता है कि सभी प्रसंस्करण पूर्ण हो गया है, जिसमें रीडायरेक्ट मानक आउटपुट के लिए एसिंक्रोनस इवेंट्स के हैंडलिंग भी शामिल है। जब मानक आउटपुट को एसिंक्रोनस इवेंट हैंडलर पर रीडायरेक्ट कर दिया गया है, तो आपको WaitForExit (Int32) अधिभार के लिए कॉल के बाद इस अधिभार का उपयोग करना चाहिए। यह पाठ्यक्रम के लिए है। क्या आपको लगता है कि यह नोट प्रक्रिया समाप्त करने के लिए इंतजार नहीं करता है कि इसके लक्षण क्या हैं शुक्रवार, फरवरी 20, 2009 8:13 PM यकीन नहीं है कि यह हाल ही में बदल गया है, लेकिन वापस दिन में आवेदन पर खिड़की मोबाइल कभी नहीं वास्तव में बंद जब आप उन्हें बंद करने के लिए एक्स हिट, वे सिर्फ कम से कम और पृष्ठभूमि में चलते रहना होगा (यह एक बग नहीं था, यह एक विशेषता थी, क्योंकि अगली बार जब आप ऐप शुरू करते हैं तो यह वास्तव में तेजी से शुरू होगा, हाँ मुझे पता है, पागल लेकिन सच है) इसलिए ऐसा क्यों हो सकता है कि WaitForExit अजीब व्यवहार कर रहा है और ऐप स्टार्टअप के बजाय बाहर निकलने के लिए इंतजार कर रहा है। लेकिन फिर यह सिर्फ विंडोज़ मोबाइल के प्राचीन संस्करणों के ज्ञानदंड पर आधारित अटकलें हैं। शुक्रवार, 20 फरवरी, 2009 11:03 पीएम आईडी इस सवाल को ऊपर दबाने की तरह। आईएम पर विंडोज़ मोबाइल 6 मानक और आईएम एक ब्राउज़र उदाहरण अंडे की कोशिश कर रहा है। आईडी उपयोगकर्ता तक ब्राउज़र बंद होने तक इंतजार करना पसंद करता है। लेकिन WaitForExit बहुत तेज रिटर्न देता है। यहां कोड है: प्रोसेस पी न्यू प्रोसेस () p. StartInfo. Arguments quotexample-sitequot p. StartInfo. Verb quotOpenquot p. StartInfo. UseShellExecute false p. StartInfo. FileName quotIExplore. exequot. p.start () p. WaitForExit () संदेश बॉक्स. सामने (अब अब ब्राउज़र बंद होना चाहिए) आशा की गई रिसेट को प्राप्त करने का सही तरीका क्या होना चाहिए सोमवार, 08 जून, 2009 10:45 PM कहाँ प्रतीक है प्रतीक। एलेक्स बी मंगलवार, 09 जून, 2009 9:58 PM मैं इसी समस्या को देख रहा हूं, लेकिन एक्सपी पर। मुझे लगता है कि सबूत किसी भी डीबगर (जैसा कि मैं देख रहा हूं) में देखा जा सकता है, या किसी भी कन्सोल एप्लिकेशन में (जरूरी नहीं कि मोबाइल पर) बुधवार, 2 सितम्बर, 2009 8:35 PM सिवाय इसके कि आपको एक प्रक्रिया वस्तु प्राप्त न हो जो आप कर सकते हैं उपयोग। यदि आप मेरी प्रक्रिया को नई प्रक्रिया के रूप में देखते हैं () myProc प्रक्रिया। प्रारंभ (quotiexplorequot, quotfinance. yahooqhpsquot प्रतीक) myProc. WaitForExit () यह अभी भी तुरंत वापस आता है बुधवार, 02 सितंबर, 2009 8:48 PM आप समस्या है कि आप आई एक्सप्लोर. एक्सए की कोई नई शुरुआत नहीं कर रहे हैं। आप बस मौजूदा प्रक्रिया पर एक नई विंडो बना रहे हैं। मेरा अनुमान है, iexplore. exe प्रारंभ होता है, पिछले उदाहरण को देखता है और पिछले उदाहरण के साथ संचार करता है ताकि वह नई विंडो को खोल सके, और फिर इस आवृत्ति को आपने तुरंत निकाला। इसलिए व्यवहार सही है और उम्मीद की जानी चाहिए। blog. voidnish बुधवार, 02 सितंबर, 2009 8:52 PM माइक्रोसॉफ्ट एमएसडीएन वेब साइट की आपकी राय को समझने के लिए एक ऑनलाइन सर्वेक्षण आयोजित कर रहा है। यदि आप भाग लेना चुनते हैं, तो ऑनलाइन सर्वेक्षण आपको प्रस्तुत किया जाएगा जब आप एमएसडीएन वेब साइट छोड़ देंगे। क्या आप भागीदारी करना चाहेंगे
Comments
Post a Comment