다음을 통해 공유


Wait-Process

프로세스가 중지될 때까지 대기한 후 추가 입력을 받습니다.

구문

Wait-Process [-Id] <Int32[]> [[-Timeout] <int>] [<CommonParameters>]

Wait-Process -InputObject <Process[]> [[-Timeout] <int>] [<CommonParameters>]

Wait-Process [-Name] <string[]> [[-Timeout] <int>] [<CommonParameters>]

설명

Wait-Process cmdlet은 실행 중인 하나 이상의 프로세스가 중지될 때까지 대기한 후 입력을 받습니다. Windows PowerShell 콘솔에서 이 cmdlet을 실행하면 프로세스가 중지될 때까지 명령 프롬프트가 나타나지 않습니다. 또한 프로세스 이름 또는 프로세스 ID(PID)로 프로세스를 지정하거나 프로세스 개체를 Wait-Process로 파이프할 수 있습니다.

Wait-Process는 로컬 컴퓨터에서 실행 중인 프로세스에서만 작동합니다.

매개 변수

-Id <Int32[]>

프로세스의 프로세스 ID를 지정합니다. 여러 ID를 지정하려면 쉼표를 사용하여 ID를 구분합니다. 프로세스의 PID를 찾으려면 "Get-Process"를 입력합니다. 매개 변수 이름("Id")은 선택 사항입니다.

필수 여부

true

위치

1

기본값

파이프라인 입력 적용 여부

true (ByPropertyName)

와일드카드 문자 적용 여부

false

-InputObject <Process[]>

프로세스 개체를 전송하여 프로세스를 지정합니다. 프로세스 개체가 포함된 변수를 입력하거나 프로세스 개체를 가져오는 명령(예: Get-Process 명령) 또는 식을 입력합니다.

필수 여부

true

위치

named

기본값

파이프라인 입력 적용 여부

true (ByValue)

와일드카드 문자 적용 여부

false

-Name <string[]>

프로세스의 프로세스 이름을 지정합니다. 여러 이름을 지정하려면 쉼표를 사용하여 이름을 구분합니다.

필수 여부

true

위치

1

기본값

파이프라인 입력 적용 여부

true (ByPropertyName)

와일드카드 문자 적용 여부

false

-Timeout <int>

Wait-Process에서 지정된 프로세스가 중지할 때까지 대기할 최대 시간(초)을 결정합니다. 이 간격이 만료되면 명령은 여전히 실행되고 있는 프로세스를 나열하는 종료되지 않은 오류를 표시하고 대기를 종료합니다.

필수 여부

false

위치

2

기본값

파이프라인 입력 적용 여부

false

와일드카드 문자 적용 여부

false

<CommonParameters>

이 cmdlet은 -Verbose, -Debug, -ErrorAction, -ErrorVariable, -OutBuffer, -OutVariable 등의 일반 매개 변수를 지원합니다. 자세한 내용은 about_commonparameters.

입력 및 출력

입력 유형은 cmdlet으로 파이프할 수 있는 개체의 유형입니다. 반환 유형은 cmdlet에서 반환되는 개체의 유형입니다.

입력

System.Diagnostics.Process

프로세스 개체를 Wait-Process로 파이프할 수 있습니다.

출력

없음

이 cmdlet은 어떠한 출력도 생성하지 않습니다.

참고

이 cmdlet은 System.Diagnostics.Process 클래스의 WaitForExit 메서드를 사용합니다. 이 메서드에 대한 자세한 내용은 Microsoft .NET Framework SDK를 참조하십시오.

예 1

C:\PS>$nid = (get-process notepad).id

C:\PS> stop-process -id $nid

C:\PS> wait-process -id $nid

설명
-----------
이들 명령은 Notepad 프로세스를 중지하고 프로세스가 중지될 때까지 기다린 후 다음 명령을 진행합니다.

첫 번째 명령은 Get-Process cmdlet을 사용하여 Notepad 프로세스의 ID를 가져오며 $nid 변수에 저장합니다.

두 번째 명령은 Stop-Process cmdlet을 사용하여 $nid에 저장된 ID를 가진 프로세스를 중지합니다.

세 번째 명령은 Wait-Process cmdlet을 사용하여 Notepad 프로세스가 중지될 때까지 기다립니다. 또한 Wait-Process의 ID 매개 변수를 사용하여 프로세스를 식별합니다.





예 2

C:\PS>$p = get-process notepad

C:\PS> wait-process -id $p.id

C:\PS> wait-process -name notepad

C:\PS> wait-process -inputobject $p

설명
-----------
이들 명령은 Wait-Process cmdlet에 프로세스를 지정하는 세 가지 방법을 보여 줍니다. 첫 번째 명령은 Notepad 프로세스를 가져와서 $p 변수에 저장합니다.

두 번째 명령은 ID 매개 변수, 세 번째 명령은 Name 매개 변수, 네 번째 명령은 InputObject 매개 변수를 사용합니다. 

이 세 명령의 결과는 동일하며 상호 교환적으로 사용할 수 있습니다.





예 3

C:\PS>wait-process -name outlook, winword -timeout 30

설명
-----------
이 명령은 Outlook 및 Winword 프로세스가 중지될 때까지 30초 동안 기다립니다. 두 프로세스 모두 중지되지 않으면 종료되지 않는 오류와 명령 프롬프트를 반환합니다.





참고 항목

개념

Get-Process
Start-Process
Stop-Process
Wait-Process
Debug-Process