Wait-Process
더 많은 입력을 수락하기 전에 프로세스가 중지될 때까지 기다립니다.
구문
Name (기본값)
Wait-Process
[-Name] <String[]>
[[-Timeout] <Int32>]
[<CommonParameters>]
Id
Wait-Process
[-Id] <Int32[]>
[[-Timeout] <Int32>]
[<CommonParameters>]
InputObject
Wait-Process
[[-Timeout] <Int32>]
-InputObject <Process[]>
[<CommonParameters>]
Description
이 cmdlet은 Linux 또는 macOS에서 작동하지 않습니다.
Wait-Process cmdlet은 입력을 수락하기 전에 하나 이상의 실행 중인 프로세스가 중지될 때까지 기다립니다. PowerShell 콘솔에서 이 cmdlet은 프로세스가 중지될 때까지 명령 프롬프트를 표시하지 않습니다. 프로세스 이름 또는 프로세스 ID(PID)로 프로세스를 지정하거나 프로세스 개체를 Wait-Process파이프할 수 있습니다.
Wait-Process 로컬 컴퓨터에서 실행되는 프로세스에서만 작동합니다.
예제
예제 1: 프로세스 중지 및 대기
다음은 메모장 프로세스를 중지한 다음 다음 명령을 계속하기 전에 프로세스가 중지될 때까지 기다리는 예제입니다.
$nid = (Get-Process notepad).id
Stop-Process -Id $nid
Wait-Process -Id $nid
Get-Process cmdlet은 메모장 프로세스의 프로세스 ID를 가져오고 $nid 변수에 저장합니다.
Stop-Process
$nid저장된 ID를 사용하여 프로세스를 중지합니다.
Wait-Process
메모장 프로세스가 중지될 때까지 기다립니다.
예제 2: 프로세스 지정
이 예제에서는 Wait-Process프로세스를 지정하는 세 가지 방법을 보여 줍니다. 첫 번째 명령은 메모장 프로세스를 가져오고 $p 변수에 저장합니다. 두 번째 명령은 Id 매개 변수를 사용하고, 세 번째 명령은 Name 매개 변수를 사용하고, 네 번째 명령은 InputObject 매개 변수를 사용합니다.
$p = Get-Process notepad
Wait-Process -Id $p.id
Wait-Process -Name "notepad"
Wait-Process -InputObject $p
이러한 명령은 동일한 결과를 가지며 서로 바꿔 사용할 수 있습니다.
예제 3: 지정된 시간 동안 프로세스 대기
이 예제에서 Wait-ProcessOutlook 및 Winword 프로세스가 중지되기까지 30초 동안 기다립니다. 두 프로세스가 모두 중지되지 않으면 cmdlet에 종료되지 않는 오류와 명령 프롬프트가 표시됩니다.
Wait-Process -Name outlook, winword -Timeout 30
매개 변수
-Id
프로세스의 프로세스 ID를 지정합니다. 여러 ID를 지정하려면 쉼표로 ID를 구분합니다.
프로세스의 PID를 찾으려면 Get-Process입력합니다.
매개 변수 속성
| 형식: | Int32[] |
| Default value: | None |
| 와일드카드 지원: | False |
| DontShow: | False |
| 별칭: | PID, ProcessId |
매개 변수 집합
Id
| Position: | 0 |
| 필수: | True |
| 파이프라인의 값: | False |
| 속성 이름별 파이프라인의 값: | True |
| 나머지 인수의 값: | False |
-InputObject
프로세스 개체를 제출하여 프로세스를 지정합니다. 프로세스 개체가 포함된 변수를 입력하거나 Get-Process cmdlet과 같은 프로세스 개체를 가져오는 명령이나 식을 입력합니다.
매개 변수 속성
| 형식: | Process[] |
| Default value: | None |
| 와일드카드 지원: | False |
| DontShow: | False |
매개 변수 집합
InputObject
| Position: | Named |
| 필수: | True |
| 파이프라인의 값: | True |
| 속성 이름별 파이프라인의 값: | False |
| 나머지 인수의 값: | False |
-Name
프로세스의 프로세스 이름을 지정합니다. 여러 이름을 지정하려면 쉼표로 이름을 구분합니다. 와일드카드 문자는 지원되지 않습니다.
매개 변수 속성
| 형식: | String[] |
| Default value: | None |
| 와일드카드 지원: | False |
| DontShow: | False |
| 별칭: | ProcessName |
매개 변수 집합
Name
| Position: | 0 |
| 필수: | True |
| 파이프라인의 값: | False |
| 속성 이름별 파이프라인의 값: | True |
| 나머지 인수의 값: | False |
-Timeout
지정된 프로세스가 중지될 때까지 이 cmdlet이 대기하는 최대 시간(초)을 지정합니다. 이 간격이 만료되면 명령은 여전히 실행 중인 프로세스를 나열하고 대기를 종료하는 종료되지 않는 오류를 표시합니다. 기본적으로 시간 제한은 없습니다.
매개 변수 속성
| 형식: | Int32 |
| Default value: | None |
| 와일드카드 지원: | False |
| DontShow: | False |
| 별칭: | TimeoutSec |
매개 변수 집합
(All)
| Position: | 1 |
| 필수: | False |
| 파이프라인의 값: | False |
| 속성 이름별 파이프라인의 값: | False |
| 나머지 인수의 값: | False |
CommonParameters
이 cmdlet은 일반적인 매개 변수인 -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutBuffer, -OutVariable, -PipelineVariable, -ProgressAction, -Verbose, -WarningAction 및 -WarningVariable 매개 변수를 지원합니다. 자세한 내용은 about_CommonParameters를 참조하세요.
입력
Process
프로세스 개체를 이 cmdlet으로 파이프할 수 있습니다.
출력
None
이 cmdlet은 출력을 반환하지 않습니다.
참고
이 cmdlet은 System.Diagnostics.Process 클래스의 WaitForExit 메서드를 사용합니다.
Start-Process -Wait달리Wait-Process식별된 프로세스만 기다립니다.Start-Process -Wait제어를 반환하기 전에 프로세스 트리(프로세스 및 모든 하위 항목)가 종료될 때까지 기다립니다.