Powershell,停止作业需要太长时间



我创建了一个Powershell作业,我想将其运行时间限制为10秒。所以我使用了等待作业命令,如果它超时,我会执行停止作业命令。问题是停止作业命令大约需要 2 分钟。如何修复它并立即停止作业?

While($hasTimeFromNTP -eq $false)
{
    Write-Host "Start get time from NTP" -ForegroundColor Yellow
    Start-Job -Name GetNTPTime -ScriptBlock $getTimeFromNtp | Out-Null
    $result = Wait-Job GetNTPTime -Timeout 10
    if($result -ne $null)
    {
        $NTPTime = Receive-Job GetNTPTime
        $hasTimeFromNTP = $true
    }
    else
    {
        Write-Host "GetTimeFromNTP timed out"
        Stop-Job GetNTPTime
        Remove-Job GetNTPTime -Force
    }
}

谢谢

我在停止作业上看不到-Force参数。 一种选择是让作业返回它在$pid中运行的 PowerShell 进程 ID 作为初始输出。 您可以使用该 pid 在 Powershell 上停止进程.exe为该后台作业启动。 这很苛刻,但如果您不想等待 2 分钟,我没有看到其他方法可以迫使工作更快地停止。

相关内容

  • 没有找到相关文章

最新更新