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