我有两个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()
}
它工作得很好,我只是不确定我是否应该在两个脚本中调用CloseHandle或$StopEventObject
上的Close之类的东西。
是的-至少我看不出为什么不关闭句柄的原因-否则句柄使用的资源将不会被释放。请参阅WaitHandle。关闭Microsoft