[英]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.