0

我有两个 PowerShell 脚本。其中一个必须在某个时间点在另一个等待。以下是相关部分:

等待脚本.ps1:

$StopEventName = 'MyEvent'

function Wait-StopEvent {
    $EventResetModeManualReset = 1
    $StopEventObject = New-Object -TypeName System.Threading.EventWaitHandle -ArgumentList $false, $EventResetModeManualReset, $StopEventName
    $StopEventObject.WaitOne()
}

SignallingScript.ps1:

$StopEventName = 'MyEvent'

function Signal-StopEvent {
    $StopEventObject = [System.Threading.EventWaitHandle]::OpenExisting( $StopEventName )
    $StopEventObject.Set()
}

它运作良好,我只是不确定是否应该$StopEventObject在任一脚本中调用诸如 CloseHandle 或 Close on 之类的东西。

4

1 回答 1

1

是的——至少我看不出你不应该关闭句柄的理由——否则句柄使用的资源不会被释放。请参阅Microsoft 的 WaitHandle.Close

于 2021-05-16T18:26:37.033 回答