2013-03-24 8 views
5
W:> $job = start-job { Write-Output "hi there"; throw "an error!" } | Wait-Job 
W:> $job | select * 


State   : Failed 
HasMoreData : True 
StatusMessage : 
Location  : localhost 
Command  : Write-Output "hi there"; throw "an error!" 
JobStateInfo : Failed 
Finished  : System.Threading.ManualResetEvent 
InstanceId : 882957a9-a5e0-4876-bd22-0dbd87512f10 
Id   : 7 
Name   : Job7 
ChildJobs  : {Job8} 
PSBeginTime : 3/24/2013 5:52:41 PM 
PSEndTime  : 3/24/2013 5:52:47 PM 
PSJobTypeName : BackgroundJob 
Output  : {} 
Error   : {} 
Progress  : {} 
Verbose  : {} 
Debug   : {} 
Warning  : {} 

मेरा आउटपुट कहां गया? मैं मानक आउट/त्रुटि धाराओं को कैसे देखूं?स्टार्ट-जॉब आउटपुट कहां जाता है?

उत्तर

14

नौकरियां पृष्ठभूमि में चल रही हैं, इसलिए वे कंसोल पर नहीं लिखते हैं। नौकरी के उत्पादन को पूरा करने के बाद आपको Receive-Job चलाएं।

+1

बिल्कुल सही। धन्यवाद महोदय। मैं जोड़ूंगा कि ऐसा लगता है कि इसे प्राप्त करने से पहले नौकरी पूरी होने की प्रतीक्षा करना महत्वपूर्ण है। –

+0

@ जॉर्ज मॉयर वास्तव में। मैंने इस विवरण को मेरे उत्तर में जोड़ा। –

+0

मुझे यह व्यवहार नहीं दिख रहा है। इसके बजाय मेरे कंसोल को नौकरी से आउटपुट का एक विस्फोट यादृच्छिक रूप से मिलता है। मैं यद्यपि प्रतीक्षा-नौकरी का उपयोग नहीं कर रहा हूं – Sam

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