PowerShell:等待第一个命令完成


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

例如,我们需要编写一段脚本,要求用户输入以终止进程 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 命令等待它继续进行,直到它使用 Get-Process 命令得以执行。一旦 Get-Process

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

更新于: 09-11-2020

1K+ 浏览

开启你的职业生涯

完成课程获得认证

开始
广告