2017-10-10 3 views
0

Ich versuche eine einfache Thread-Anmeldung für Windows PowerShell-Logik.Warten Sie, bis der Prozess beendet ist

Code:

start call first_process 
start call second_process 
third_process 

Ich bin mit Startaufruf des ersten Prozesses und des zweiten Prozesses gleichzeitig und der dritte Prozess erst nach Abschluss des ersten und des zweiten Prozesses ausführen muss auszuführen.

Wie ist es in Windows Powershell möglich?

Antwort

0

Wenn Sie das Cmdlet Start-Procces mit dem Parameter -PassThru verwenden, können Sie eine Variable verwenden, um den aktuellen Status zu überprüfen. In diesem Fall möchten Sie die Eigenschaft HasExited. Im Folgenden überprüfen wir den Status und warten dann 15 Sekunden, bis beide Prozesse beendet sind.

$first_process = Start-Process 'first_process' -PassThru 
$second_process = Start-Process 'second_process' -PassThru 

while ($first_process.HasExited -eq $false -and $second_process.HasExited -eq $false) 
{ 
    Start-Sleep -Seconds 15 
} 

Start-Process 'third_process' 
Verwandte Themen