2011-02-14 16 views
18

समाप्त करने के लिए प्रतीक्षा कर रहा है मैं एक साथ PowerShell में कई बाहरी स्क्रिप्ट निष्पादित करना चाहता हूं और फिर आगे बढ़ने से पहले सभी को समाप्त करने का इंतजार करना चाहता हूं। वर्तमान में मैं 'स्टार्ट-प्रोसेस-नोनविंडो ...' कमांडलेट का उपयोग कर रहा हूं जो सभी बाल प्रक्रियाओं के माध्यम से लूप करता है लेकिन फिर समाप्त हो जाता है।सभी बच्चे प्रक्रियाओं के लिए PowerShell में

मुझे 1 प्रक्रिया समाप्त होने की प्रतीक्षा करने के कई तरीके मिले हैं (यह स्पष्ट रूप से मामूली है) लेकिन उनमें से कोई भी मेरी समस्या के समाधान के रूप में काम नहीं कर रहा है।

PowerShell में UNIX version के बराबर होने के साथ निश्चित रूप से मैं जो खोज रहा हूं वह निश्चित रूप से होगा।

+0

यूनिक्स आप Powershell की तुलना में कहीं beter संभावनाओं दे। अधिक सरल सोचो! –

+0

आपने कहा कि आपने अपनी समस्या को नौकरियों के साथ हल किया है? क्या आप समाधान साझा करने के इच्छुक होंगे? – lit

+0

अब आप यूनिक्स पर पावरशेल चला सकते हैं। https://github.com/PowerShell/PowerShell – lit

उत्तर

29

और शायद सबसे सीधे आगे एकाधिक प्रक्रियाओं के लिए यह करने के लिए तरीके के बारे में भूल नहीं है Wait-Process उदा .:

$procs = $(Start-Process Notepad.exe -PassThru; Start-Process Calc.exe -PassThru) 
$procs | Wait-Process 
+2

+1 कीथ। मैं पूरी तरह से प्रतीक्षा प्रक्रिया याद किया। हो सकता है क्योंकि मैंने कभी इसका इस्तेमाल नहीं किया :) – ravikanth

+0

हाँ, यह समय-समय पर एक आसान cmdlet है। :-) –

+0

'प्रतीक्षा-प्रक्रिया' कई प्रक्रियाओं के लिए निष्पक्ष रूप से काम करता है, हालांकि, मुझे लगता है कि आप रीयल-टाइम स्थिति की जानकारी की रिपोर्ट नहीं कर सकते हैं जैसे वर्तमान में चल रहे बाल प्रक्रियाओं की संख्या और आपको प्राप्त होने वाला एकमात्र नियंत्रण 'टाइमआउट' पैरामीटर है। – jaccus

5

क्या आपने PowerShell v2 में पृष्ठभूमि नौकरियों की सुविधा की जांच की है?

$job = Start-Job -Name "Proc1" -ScriptBlock { Sleep 10000 } 
Wait-Job -Job $job 

इसके अलावा, स्टार्ट-प्रोसेस में पैरामीटर नामक पैरामीटर है। निर्दिष्ट होने पर, स्टार्ट-प्रोसेस बच्चे से बाहर निकलने का इंतजार करेगी। अजगर, बैश, पर्ल: -

Start-Process -FilePath calc.exe -Wait 
+0

-एकाधिक प्रक्रियाओं से निपटने के दौरान प्रतीक्षा स्विच वास्तव में सहायक नहीं है। मैं नौकरियों का उपयोग करके अपनी समस्या का समाधान करने में कामयाब रहा, वे एक महान उपकरण हैं। धन्यवाद! – jaccus

संबंधित मुद्दे