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 cmdlet
de processo de espera funciona apenas em processos em execução no computador local.
Exemplos
Exemplo 1: interromper 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 cmdlet Get-Process para obter a ID do processo do Bloco de Notas. Ele armazena a ID na variável $nid.
O segundo comando usa o cmdlet Stop-Process para interromper o processo com a ID armazenada em $nid.
O terceiro comando usa de processo de espera para aguardar até que o processo do Bloco de Notas seja interrompido. Ele usa o parâmetro ID de de processo de espera 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 especificar um processo para de processo de espera. O primeiro comando obtém o processo do Bloco de Notas e o armazena 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 os mesmos resultados e podem ser usados de forma intercambiável.
Exemplo 3: Aguardar processos por um horário especificado
PS C:\> Wait-Process -Name outlook, winword -Timeout 30
Esse comando aguarda 30 segundos para 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 encerramento e o prompt de comando.
Parâmetros
-Id
Especifica as IDs de processo dos processos.
Para especificar várias IDs, use vírgulas para separar as IDs.
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 obtém os objetos de processo, como o cmdlet Get-Process.
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 que os processos especificados sejam interrompidos. Quando esse intervalo expira, o comando exibe um erro de não encerramento que lista os processos que ainda estão em execução e encerra 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 este cmdlet.
Saídas
None
Esse cmdlet não gera nenhuma saída.
Observações
Esse cmdlet usa o método WaitForExit da classe System.Diagnostics.Process. Para obter mais informações sobre esse método, consulte o SDK do Microsoft .NET Framework.