PowerShell:等待第一个命令完成

我们知道PowerShell会顺序执行命令,直到我们指定了一些并行作业,但是有时下一条命令会在First命令之前执行,因为第一个命令可能需要很长时间才能检索数据。在这种情况下,如果要先完成上一个命令,然后再执行下一个命令,则可以使用PowerShell Job功能。

例如,我们需要编写一个脚本来要求用户输入以终止进程ID,但是程序应首先检索该进程ID。

示例

$job = Start-Job {Get-Process}
Wait-Job $job | Out-Null
Receive-Job $job
$id = Read-Host "Enter the Process ID to terminate the Process "
Stop-Process -Id $id -PassThru -Verbose

在上面的示例中,我们正在Start-Job命令中启动PowerShell进程作业,并等待其继续进行,直到使用Wait-Job命令执行该作业为止。一旦获取过程

命令执行完成,将使用Receive-Job命令显示输出,然后在下一个请求进程ID使其终止特定进程。