簡體   English   中英

Powershell,停止作業需要太長時間

[英]Powershell, Stop-Job takes too long

我創建了一個powershell作業,我想將其運行時間限制為10秒。 因此我使用了Wait-Job命令,如果超時,我將執行Stop-Job命令。 問題是Stop-Job命令大約需要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
    }
}

謝謝

我在Stop-Job上看不到-Force參數。 一種選擇是讓Job返回以$pid運行的PowerShell進程ID作為初始輸出。 您可以使用該pid在為該后台作業啟動的Powershell.exe上進行“停止處理”。 這很嚴厲,但是如果您不想等待2分鍾,我看不到其他方法可以迫使工作更快停止。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM