Wait-Event
실행을 계속하기 전에 특정 이벤트가 발생할 때까지 기다립니다.
구문
Wait-Event
[[-SourceIdentifier] <String>]
[-Timeout <Int32>]
[<CommonParameters>]
Description
Wait-Event cmdlet은 특정 이벤트가 발생할 때까지 스크립트 또는 함수의 실행을 일시 중단합니다. 이벤트가 감지되면 실행이 다시 시작됩니다. 대기를 취소하려면 Ctrl+C를 누릅니다.
이 기능은 이벤트에 대한 폴링 대신 사용할 수 있습니다. 또한 이벤트 구독의 Action 매개 변수를 사용하고 이벤트가 반환되기를 기다린 다음 작업으로 응답하는 두 가지 방법으로 이벤트에 대한 응답을 확인할 수 있습니다.
예제
예제 1: 다음 이벤트 대기
PS C:\> Wait-Event
이 명령은 발생한 다음 이벤트를 기다립니다.
예제 2: 지정된 원본 식별자가 있는 이벤트를 기다립니다.
PS C:\> Wait-Event -SourceIdentifier "ProcessStarted"
이 명령은 다음 이벤트가 발생하고 ProcessStarted의 원본 식별자가 있는 이벤트를 기다립니다.
예제 3: 타이머 경과 이벤트 대기
PS C:\> $Timer.Interval = 2000
PS C:\> $Timer.Autoreset = $False
PS C:\> $Timer.Enabled = $True; Wait-Event Timer.Elapsed
# After 2 seconds
EventIdentifier : 12
Sender : System.Timers.Timer
SourceEventArgs : System.Timers.ElapsedEventArgs
SourceArgs : {System.Timers.Timer, System.Timers.ElapsedEventArgs}
SourceIdentifier : Timer.Elapsed
TimeGenerated : 6/10/2008 3:24:18 PM
MessageData :
ForwardEvent : False
이 명령은 Wait-Event cmdlet을 사용하여 2000밀리초로 설정된 타이머에서 타이머 이벤트를 기다립니다.
예제 4: 지정된 시간 제한 후 이벤트 대기
PS C:\> Wait-Event -SourceIdentifier "ProcessStarted" -Timeout 90
이 명령은 발생되고 "ProcessStarted"의 원본 식별자가 있는 다음 이벤트에 대해 최대 90초 동안 대기합니다. 지정된 시간이 만료되면 대기가 종료됩니다.
매개 변수
-SourceIdentifier
이 cmdlet이 이벤트를 기다리는 원본 식별자를 지정합니다. 기본적으로 Wait-Event 모든 이벤트를 기다립니다.
형식: | String |
Position: | 0 |
Default value: | None |
필수: | False |
파이프라인 입력 허용: | True |
와일드카드 문자 허용: | False |
-Timeout
이벤트가 발생할 때까지 대기 이벤트 대기할
지정된 시간을 초과하면 이벤트가 발생하지 않은 경우에도 대기가 종료되고 명령 프롬프트가 반환됩니다. 오류 메시지가 표시되지 않습니다.
형식: | Int32 |
별칭: | TimeoutSec |
Position: | Named |
Default value: | None |
필수: | False |
파이프라인 입력 허용: | False |
와일드카드 문자 허용: | False |
입력
출력
참고
이벤트, 이벤트 구독 및 이벤트 큐는 현재 세션에만 존재합니다. 현재 세션을 닫으면 이벤트 큐가 삭제되고 이벤트 구독이 취소됩니다.