다음을 통해 공유


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은 입력을 수락하기 전에 하나 이상의 실행 중인 프로세스가 중지될 때까지 기다립니다. Windows PowerShell 콘솔에서 이 cmdlet은 프로세스가 중지될 때까지 명령 프롬프트를 표시하지 않습니다. 프로세스 이름 또는 프로세스 ID(PID)로 프로세스를 지정하거나 프로세스 개체를 Wait-Process파이프할 수 있습니다.

대기 프로세스 로컬 컴퓨터에서 실행되는 프로세스에서만 작동합니다.

예제

예제 1: 프로세스 중지 및 대기

PS C:\> $nid = (Get-Process notepad).id
PS C:\> Stop-Process -Id $nid
PS C:\> Wait-Process -Id $nid

다음은 메모장 프로세스를 중지한 다음 다음 명령을 계속하기 전에 프로세스가 중지될 때까지 기다리는 예제입니다.

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

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

세 번째 명령은 Wait-Process 사용하여 메모장 프로세스가 중지될 때까지 기다립니다. Wait-ProcessID 매개 변수를 사용하여 프로세스를 식별합니다.

예제 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

이러한 명령은 대기 프로세스프로세스를 지정하는 세 가지 방법을 보여 줍니다. 첫 번째 명령은 메모장 프로세스를 가져오고 $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

프로세스 개체를 제출하여 프로세스를 지정합니다. 프로세스 개체가 포함된 변수를 입력하거나 Get-Process cmdlet과 같은 프로세스 개체를 가져오는 명령이나 식을 입력합니다.

형식: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

입력

Process

프로세스 개체를 이 cmdlet으로 파이프할 수 있습니다.

출력

None

이 cmdlet은 출력을 생성하지 않습니다.

참고

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