PowerShell检测命令是否终止

时间:2017-07-02 11:07:37

标签: powershell

我有一个长时间运行的脚本,作为PowerShell命令运行了好几个小时。偶尔会终止 - 通常是OutOfMemory。发生这种情况时,PowerShell窗口将返回PS C:\XXXXX>

我想我可以有一个额外的PS窗口,如果另一个终止以保持它活着,它就会监听。如果另一个PS窗口返回PS C:\XXXX,它可以作为后面再次启动脚本。

有一种简单的方法吗?

由于

1 个答案:

答案 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)