Wait-Process
더 많은 입력을 수락하기 전에 프로세스가 중지될 때까지 기다립니다.
구문
Wait-Process
[-Name] <String[]>
[[-Timeout] <Int32>]
[-Any]
[-PassThru]
[<CommonParameters>]
Wait-Process
[-Id] <Int32[]>
[[-Timeout] <Int32>]
[-Any]
[-PassThru]
[<CommonParameters>]
Wait-Process
[[-Timeout] <Int32>]
[-Any]
[-PassThru]
-InputObject <Process[]>
[<CommonParameters>]
Description
이 cmdlet은 Linux 또는 macOS에서 작동하지 않습니다.
cmdlet은 Wait-Process
입력을 수락하기 전에 하나 이상의 실행 중인 프로세스가 중지될 때까지 기다립니다. PowerShell 콘솔에서 이 cmdlet은 프로세스가 중지될 때까지 명령 프롬프트를 표시하지 않습니다. 프로세스 이름 또는 프로세스 ID(PID)로 프로세스를 지정하거나 프로세스 개체를 파이프할 수 있습니다 Wait-Process
.
Wait-Process
는 로컬 컴퓨터에서 실행되는 프로세스에서만 작동합니다.
예제
예제 1: 프로세스 중지 및 대기
다음은 메모장 프로세스를 중지한 다음 다음 명령을 계속하기 전에 프로세스가 중지될 때까지 기다리는 예제입니다.
$nid = (Get-Process notepad).id
Stop-Process -Id $nid
Wait-Process -Id $nid
cmdlet은 Get-Process
메모장 프로세스의 프로세스 ID를 가져오고 변수에 $nid
저장합니다. Stop-Process
에 저장된 ID를 사용하여 프로세스를 중지합니다 $nid
. 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-Process
Outlook 및 Winword 프로세스가 중지되기까지 30초 동안 기다립니다. 두 프로세스가 모두 중지되지 않으면 cmdlet에 종료되지 않는 오류와 명령 프롬프트가 표시됩니다.
Wait-Process -Name outlook, winword -Timeout 30
매개 변수
-Any
여러 프로세스가 전달되면 Wait-Process
cmdlet은 반환하기 전에 모든 프로세스가 종료될 때까지 기다립니다. 이 매개 변수를 사용하면 프로세스가 종료될 때 cmdlet이 반환됩니다. 나머지 프로세스는 계속 실행됩니다.
이 매개 변수는 PowerShell 7.4에 추가되었습니다.
형식: | SwitchParameter |
Position: | Named |
Default value: | None |
필수: | False |
파이프라인 입력 허용: | False |
와일드카드 문자 허용: | False |
-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 |
-PassThru
기본적으로 이 cmdlet은 아무것도 출력하지 않습니다. 이 매개 변수를 사용하여 cmdlet은 대기한 프로세스를 나타내는 개체를 반환합니다.
이 매개 변수는 PowerShell 7.4에 추가되었습니다.
형식: | SwitchParameter |
Position: | Named |
Default value: | None |
필수: | False |
파이프라인 입력 허용: | False |
와일드카드 문자 허용: | False |
-Timeout
지정된 프로세스가 중지될 때까지 이 cmdlet이 대기하는 최대 시간(초)을 지정합니다. 이 간격이 만료되면 명령은 여전히 실행되고 있는 프로세스를 나열하는 종료되지 않은 오류를 표시하고 대기를 종료합니다. 기본적으로 시간 제한은 없습니다.
형식: | Int32 |
별칭: | TimeoutSec |
Position: | 1 |
Default value: | None |
필수: | False |
파이프라인 입력 허용: | False |
와일드카드 문자 허용: | False |
입력
프로세스 개체를 이 cmdlet으로 파이프할 수 있습니다.
출력
None
기본적으로 이 cmdlet은 출력을 반환하지 않습니다.
PassThru 매개 변수를 사용할 때 이 cmdlet은 프로세스 개체를 반환합니다.
참고
이 cmdlet은 System.Diagnostics.Process 클래스의 WaitForExit 메서드를 사용합니다.
달리
Start-Process -Wait
식별Wait-Process
된 프로세스에 대해서만 대기합니다.Start-Process -Wait
는 프로세스 트리(프로세스 및 모든 하위 항목)가 종료될 때까지 기다린 후 컨트롤을 반환합니다.
관련 링크
PowerShell