Wait-Process
Aguarda que os processos sejam interrompidos antes de aceitar mais entradas.
Sintaxe
Wait-Process
[-Name] <String[]>
[[-Timeout] <Int32>]
[<CommonParameters>]
Wait-Process
[-Id] <Int32[]>
[[-Timeout] <Int32>]
[<CommonParameters>]
Wait-Process
[[-Timeout] <Int32>]
-InputObject <Process[]>
[<CommonParameters>]
Description
O Wait-Process
cmdlet aguarda que um ou mais processos em execução sejam interrompidos antes de aceitar a entrada. No console do PowerShell, esse cmdlet suprime o prompt de comando até que os processos sejam interrompidos. Você pode especificar um processo por nome de processo ou ID de processo (PID) ou canalizar um objeto de processo para .Wait-Process
Wait-Process
funciona apenas em processos em execução no computador local.
Exemplos
Exemplo 1: Parar um processo e aguardar
PS C:\> $nid = (Get-Process notepad).id
PS C:\> Stop-Process -Id $nid
PS C:\> Wait-Process -Id $nid
Este exemplo interrompe o processo do Bloco de Notas e aguarda que o processo seja interrompido antes de continuar com o próximo comando.
O primeiro comando usa o Get-Process
cmdlet para obter a ID do processo do Bloco de Notas. Ele armazena o ID na $nid
variável.
O segundo comando usa o Stop-Process
cmdlet para interromper o processo com a ID armazenada no $nid
.
O terceiro comando usa Wait-Process
para aguardar até que o processo do Bloco de Notas seja interrompido. Ele usa o parâmetro Id de Wait-Process
para identificar o processo.
Exemplo 2: Especificando um processo
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
Esses comandos mostram três métodos diferentes de especificação de um processo para Wait-Process
. O primeiro comando obtém o processo do Bloco de Notas e o armazena na $p
variável.
O segundo comando usa o parâmetro Id , o terceiro comando usa o parâmetro Name e o quarto comando usa o parâmetro InputObject .
Esses comandos têm os mesmos resultados e podem ser usados alternadamente.
Exemplo 3: Aguardar processos por um tempo especificado
PS C:\> Wait-Process -Name outlook, winword -Timeout 30
Esse comando espera 30 segundos até que os processos do Outlook e do Winword sejam interrompidos. Se ambos os processos não forem interrompidos, o cmdlet exibirá um erro de não finalização e o prompt de comando.
Parâmetros
-Id
Especifica as identificações de processos dos processos. Para especificar IDs múltiplas, use vírgulas para separá-las.
Para localizar o PID de um processo, digite Get-Process
.
Tipo: | Int32[] |
Aliases: | PID, ProcessId |
Cargo: | 0 |
Valor padrão: | None |
Obrigatório: | True |
Aceitar a entrada de pipeline: | True |
Aceitar caracteres curinga: | False |
-InputObject
Especifica os processos enviando objetos de processo. Insira uma variável que contenha os objetos de processo ou digite um comando ou expressão que obtenha os objetos de processo, como o Get-Process
cmdlet.
Tipo: | Process[] |
Cargo: | Named |
Valor padrão: | None |
Obrigatório: | True |
Aceitar a entrada de pipeline: | True |
Aceitar caracteres curinga: | False |
-Name
Especifica os nomes de processo dos processos. Para especificar vários nomes, use vírgulas para separar os nomes. Não há suporte para caracteres curinga.
Tipo: | String[] |
Aliases: | ProcessName |
Cargo: | 0 |
Valor padrão: | None |
Obrigatório: | True |
Aceitar a entrada de pipeline: | True |
Aceitar caracteres curinga: | False |
-Timeout
Especifica o tempo máximo, em segundos, que esse cmdlet aguarda a interrupção dos processos especificados. Quando esse intervalo expira, o comando exibirá um erro de não finalização que lista os processos que estão em execução e termina a espera. Por padrão, não há tempo limite.
Tipo: | Int32 |
Aliases: | TimeoutSec |
Cargo: | 1 |
Valor padrão: | None |
Obrigatório: | False |
Aceitar a entrada de pipeline: | False |
Aceitar caracteres curinga: | False |
Entradas
Você pode canalizar um objeto de processo para esse cmdlet.
Saídas
None
Esse cmdlet não retorna nenhuma saída.
Observações
Esse cmdlet usa o método WaitForExit da classe System.Diagnostics.Process .
Ao contrário
Start-Process -Wait
do ,Wait-Process
aguarda apenas os processos identificados.Start-Process -Wait
Aguarda a saída da árvore de processos (o processo e todos os seus descendentes) antes de retornar o controle.