我有一个长时间运行的脚本,作为PowerShell命令运行了好几个小时。偶尔会终止 - 通常是OutOfMemory。发生这种情况时,PowerShell窗口将返回PS C:\XXXXX>
。
我想我可以有一个额外的PS窗口,如果另一个终止以保持它活着,它就会监听。如果另一个PS窗口返回PS C:\XXXX
,它可以作为后面再次启动脚本。
有一种简单的方法吗?
由于
答案 0 :(得分:3)
将脚本调用包装在try / catch块中以处理OOM异常,然后将其包装在循环中:
do {
try {
# Run the script
.\script.ps1
$Success = $true
}
catch {
# Something happened, make sure we try again
$Success = $false
}
} while (-not $Success)