Wait-Process
Aguarda que os processos sejam interrompidos antes de aceitar mais entradas.
Sintaxe
Name (Predefinição)
Wait-Process
[-Name] <String[]>
[[-Timeout] <Int32>]
[<CommonParameters>]
Id
Wait-Process
[-Id] <Int32[]>
[[-Timeout] <Int32>]
[<CommonParameters>]
InputObject
Wait-Process
[[-Timeout] <Int32>]
-InputObject <Process[]>
[<CommonParameters>]
Description
O cmdlet Wait-Process aguarda a interrupção de um ou mais processos em execução antes de aceitar a entrada. 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 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, em seguida, 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 o ID na variável $nid.
O segundo comando usa o cmdlet Stop-Process 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 especificar um processo para Wait-Process. O primeiro comando obtém o processo do Bloco de Notas e armazena-o 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: Aguarde processos por um tempo especificado
PS C:\> Wait-Process -Name outlook, winword -Timeout 30
Este comando aguarda 30 segundos para que os processos do Outlook e do Winword parem. Se ambos os processos não forem interrompidos, o cmdlet exibirá um erro não terminativo e o prompt de comando.
Parâmetros
-Id
Especifica as IDs de processo dos processos.
Para especificar vários IDs, use vírgulas para separá-los.
Para encontrar o PID de um processo, digite Get-Process.
Propriedades dos parâmetros
| Tipo: | Int32[] |
| Default value: | None |
| Suporta carateres universais: | False |
| NãoMostrar: | False |
| Aliases: | PID, ProcessId |
Conjuntos de parâmetros
Id
| Position: | 0 |
| Obrigatório: | True |
| Valor do pipeline: | False |
| Valor do pipeline por nome de propriedade: | True |
| Valor dos restantes argumentos: | 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 cmdlet Get-Process.
Propriedades dos parâmetros
| Tipo: | Process[] |
| Default value: | None |
| Suporta carateres universais: | False |
| NãoMostrar: | False |
Conjuntos de parâmetros
InputObject
| Position: | Named |
| Obrigatório: | True |
| Valor do pipeline: | True |
| Valor do pipeline por nome de propriedade: | False |
| Valor dos restantes argumentos: | False |
-Name
Especifica os nomes dos processos. Para especificar vários nomes, use vírgulas para separar os nomes. Não há suporte para caracteres curinga.
Propriedades dos parâmetros
| Tipo: | String[] |
| Default value: | None |
| Suporta carateres universais: | False |
| NãoMostrar: | False |
| Aliases: | ProcessName |
Conjuntos de parâmetros
Name
| Position: | 0 |
| Obrigatório: | True |
| Valor do pipeline: | False |
| Valor do pipeline por nome de propriedade: | True |
| Valor dos restantes argumentos: | 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 exibe um erro de não terminação que lista os processos que ainda estão em execução e encerra a espera. Por padrão, não há tempo limite.
Propriedades dos parâmetros
| Tipo: | Int32 |
| Default value: | None |
| Suporta carateres universais: | False |
| NãoMostrar: | False |
| Aliases: | TimeoutSec |
Conjuntos de parâmetros
(All)
| Position: | 1 |
| Obrigatório: | False |
| Valor do pipeline: | False |
| Valor do pipeline por nome de propriedade: | False |
| Valor dos restantes argumentos: | False |
CommonParameters
Este cmdlet suporta os parâmetros comuns: -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutBuffer, -OutVariable, -PipelineVariable, -ProgressAction, -Verbose, -WarningAction e -WarningVariable. Para obter mais informações, consulte about_CommonParameters.
Entradas
Process
Você pode canalizar um objeto de processo para este cmdlet.
Saídas
None
Este cmdlet não gera nenhuma saída.
Notas
Este 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.