Esperando en PowerShell que todos los procesos secundarios terminen
process wait (2)
¿Comprobó la función de trabajos en segundo plano en PowerShell v2?
$job = Start-Job -Name "Proc1" -ScriptBlock { Sleep 10000 }
Wait-Job -Job $job
Además, Start-Process tiene un parámetro llamado -wait. Cuando se especifique, el Proceso de inicio esperará a que el niño salga.
Start-Process -FilePath calc.exe -Wait
Quiero ejecutar múltiples scripts externos en PowerShell simultáneamente y luego esperar a que todos terminen antes de continuar. Actualmente estoy usando el comando ''start-process -NoNewWindow ...'' que recorre todos los procesos secundarios pero luego termina.
He encontrado muchas maneras de esperar a que finalice 1 proceso (esto es obviamente trivial) pero ninguna de ellas parece funcionar como una solución para mi problema.
Tener un equivalente para la versión UNIX en PowerShell definitivamente sería lo que estoy buscando.
Y no se olvide de probablemente la forma más sencilla de hacer esto para varios procesos: el proceso de Wait-Process
ejemplo:
$procs = $(Start-Process Notepad.exe -PassThru; Start-Process Calc.exe -PassThru)
$procs | Wait-Process