Compartilhar via


Wait-Process

Espera até que o processo seja interrompido antes de aceitar mais entradas.

Sintaxe

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

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

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

Descrição

O cmdlet Wait-Process espera que um ou mais processos de execução sejam interrompidos antes de aceitar entradas. No console do Windows PowerShell, esse cmdlet suprime o prompt de comando até que os processos sejam interrompidos. Você pode especificar um processo por nome de processo ou por ID de processo (PID), ou enviar por pipe um objeto de processo para Wait-Process.

Wait-Process funciona apenas em processos executados no computador local.

Parâmetros

-Id <Int32[]>

Especifica as IDs de processo dos processos. Para especificar várias IDs, use vírgulas para separar os identificadores. Para localizar a PID de um processo, digite "Get-Process". O nome do parâmetro ("Id") é opcional.

Necessário?

true

Posição?

1

Valor padrão

Aceitar entrada do pipeline?

true (ByPropertyName)

Aceitar caracteres curinga?

false

-InputObject <Process[]>

Especifica o processo enviando objetos de processo. Insira uma variável que contenha os objetos de processo ou digite um comando ou uma expressão que obtenha os objetos de processo, como o comando Get-Process.

Necessário?

true

Posição?

named

Valor padrão

Aceitar entrada do pipeline?

true (ByValue)

Aceitar caracteres curinga?

false

-Name <string[]>

Especifica os nomes dos processos. Para especificar vários nomes, use vírgulas para separá-los.

Necessário?

true

Posição?

1

Valor padrão

Aceitar entrada do pipeline?

true (ByPropertyName)

Aceitar caracteres curinga?

false

-Timeout <int>

Determina o tempo máximo, em segundos, que Wait-Process espera até que os processos especificados sejam parados. Quando esse intervalo expira, o comando exibe um erro de não-encerramento que lista os processos que ainda estão sendo executados e termina a espera.

Necessário?

false

Posição?

2

Valor padrão

Aceitar entrada do pipeline?

false

Aceitar caracteres curinga?

false

<CommonParameters>

Esse cmdlet oferece suporte aos parâmetros comuns: -Verbose, -Debug, -ErrorAction, -ErrorVariable, -OutBuffer e -OutVariable. Para obter mais informações, consulte about_Commonparameters.

Entradas e saídas

O tipo de entrada é o tipo dos objetos que você pode canalizar para o cmdlet. O tipo de retorno é o tipo dos objetos que o cmdlet retorna.

Entradas

System.Diagnostics.Process

Você pode enviar um objeto de processo para Wait-Process.

Saídas

Nenhum

Este cmdlet não gera nenhuma saída.

Observações

Este cmdlet usa o método WaitForExit da classe System.Diagnostics.Process. Para obter mais informações sobre esse método, consulte o Microsoft .NET Framework SDK.

Exemplo 1

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

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

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

Descrição
-----------
Esses comandos param o processo do Bloco de Notas e aguardam o processo ser interrompido antes de continuar com o próximo comando.

O primeiro comando usa o cmdlet Get-Process para obter a ID do processo do Bloco de Notas. Ele a salva na variável $nid.

O segundo comando usa o cmdlet Stop-Process para interromper o processo com a ID salva em $nid.

O terceiro comando usa o cmdlet Wait-Process para aguardar até que o processo do Bloco de Notas seja parado. Ele usa o parâmetro ID de Wait-Process para identificar o processo.





Exemplo 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

Descrição
-----------
Esses comandos mostram três métodos diferentes de especificar um processo para o cmdlet Wait-Process. O primeiro comando obtém o processo do Bloco de Notas e o salva na variável $p.

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 o mesmo resultado e você pode usar qualquer um deles.





Exemplo 3

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

Descrição
-----------
Esse comando espera 30 segundos para que os processos Outlook e Winword sejam parados. Se ambos os processos não forem interrompidos, o cmdlet exibirá um erro de não-encerramento e o prompt de comando.





Consulte também

Conceitos

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