Wait-Process
Espera a que los procesos se detengan antes de aceptar más entradas.
Sintaxis
Name (Es el valor predeterminado).
Wait-Process
[-Name] <String[]>
[[-Timeout] <Int32>]
[-Any]
[-PassThru]
[<CommonParameters>]
Id
Wait-Process
[-Id] <Int32[]>
[[-Timeout] <Int32>]
[-Any]
[-PassThru]
[<CommonParameters>]
InputObject
Wait-Process
[[-Timeout] <Int32>]
-InputObject <Process[]>
[-Any]
[-PassThru]
[<CommonParameters>]
Description
Este cmdlet no funciona en Linux o macOS.
El cmdlet Wait-Process espera a que uno o varios procesos en ejecución se detengan antes de aceptar la entrada. En la consola de PowerShell, este cmdlet suprime el símbolo del sistema hasta que se detengan los procesos. Puede especificar un proceso por nombre de proceso o identificador de proceso (PID) o canalizar un objeto de proceso para Wait-Process.
Wait-Process solo funciona en procesos que se ejecutan en el equipo local.
Ejemplos
Ejemplo 1: Detener un proceso y esperar
En este ejemplo se detiene el proceso de del Bloc de notas de y, a continuación, se espera a que el proceso se detenga antes de continuar con el comando siguiente.
$nid = (Get-Process notepad).Id
Stop-Process -Id $nid
Wait-Process -Id $nid
El cmdlet Get-Process obtiene el identificador de proceso del proceso del Bloc de notas y lo almacena en la variable $nid.
Stop-Process detiene el proceso con el identificador almacenado en $nid.
Wait-Process espera hasta que se detenga el proceso de del Bloc de notas de.
Ejemplo 2: Especificación de un proceso
En este ejemplo se muestran tres métodos diferentes de especificar un proceso para Wait-Process. El primer comando obtiene el proceso del Bloc de notas y lo almacena en la variable $p. El segundo comando usa el parámetro Id, el tercer comando usa el parámetro Name y el cuarto comando usa el parámetro InputObject.
$p = Get-Process notepad
Wait-Process -Id $p.Id
Wait-Process -Name "notepad"
Wait-Process -InputObject $p
Estos comandos tienen los mismos resultados y se pueden usar indistintamente.
Ejemplo 3: Esperar procesos durante un tiempo especificado
En este ejemplo, Wait-Process espera 30 segundos para que el de Outlook de y procesos de winword se detengan. Si no se detienen ambos procesos, el cmdlet muestra un error de no terminación y el símbolo del sistema.
Wait-Process -Name outlook, winword -Timeout 30
Parámetros
-Any
Cuando se pasan varios procesos a Wait-Process, el cmdlet espera a que todos los procesos salgan antes de devolverlos. Con este parámetro, el cmdlet devuelve cuando se cierra cualquiera de los procesos. Los procesos restantes continúan ejecutándose.
Este parámetro se agregó en PowerShell 7.4.
Propiedades del parámetro
| Tipo: | SwitchParameter |
| Valor predeterminado: | None |
| Admite caracteres comodín: | False |
| DontShow: | False |
Conjuntos de parámetros
(All)
| Posición: | Named |
| Mandatory: | False |
| Valor de la canalización: | False |
| Valor de la canalización por nombre de propiedad: | False |
| Valor de los argumentos restantes: | False |
-Id
Especifica los identificadores de proceso de los procesos. Para especificar varios identificadores, use comas para separar los identificadores.
Para buscar el PID de un proceso, escriba Get-Process.
Propiedades del parámetro
| Tipo: | Int32[] |
| Valor predeterminado: | None |
| Admite caracteres comodín: | False |
| DontShow: | False |
| Alias: | PID, ProcessId |
Conjuntos de parámetros
Id
| Posición: | 0 |
| Mandatory: | True |
| Valor de la canalización: | False |
| Valor de la canalización por nombre de propiedad: | True |
| Valor de los argumentos restantes: | False |
-InputObject
Especifica los procesos mediante el envío de objetos de proceso. Escriba una variable que contenga los objetos de proceso o escriba un comando o expresión que obtenga los objetos de proceso, como el cmdlet Get-Process.
Propiedades del parámetro
| Tipo: | Process[] |
| Valor predeterminado: | None |
| Admite caracteres comodín: | False |
| DontShow: | False |
Conjuntos de parámetros
InputObject
| Posición: | Named |
| Mandatory: | True |
| Valor de la canalización: | True |
| Valor de la canalización por nombre de propiedad: | False |
| Valor de los argumentos restantes: | False |
-Name
Especifica los nombres de proceso de los procesos. Para especificar varios nombres, use comas para separar los nombres. No se admiten caracteres comodín.
Propiedades del parámetro
| Tipo: | String[] |
| Valor predeterminado: | None |
| Admite caracteres comodín: | False |
| DontShow: | False |
| Alias: | ProcessName |
Conjuntos de parámetros
Name
| Posición: | 0 |
| Mandatory: | True |
| Valor de la canalización: | False |
| Valor de la canalización por nombre de propiedad: | True |
| Valor de los argumentos restantes: | False |
-PassThru
De forma predeterminada, este cmdlet no genera nada. Con este parámetro, el cmdlet devuelve objetos que representan los procesos que se esperaron.
Este parámetro se agregó en PowerShell 7.4.
Propiedades del parámetro
| Tipo: | SwitchParameter |
| Valor predeterminado: | None |
| Admite caracteres comodín: | False |
| DontShow: | False |
Conjuntos de parámetros
(All)
| Posición: | Named |
| Mandatory: | False |
| Valor de la canalización: | False |
| Valor de la canalización por nombre de propiedad: | False |
| Valor de los argumentos restantes: | False |
-Timeout
Especifica el tiempo máximo, en segundos, que este cmdlet espera a que se detengan los procesos especificados. Cuando este intervalo expira, el comando muestra un error de no terminación que muestra los procesos que siguen en ejecución y finaliza la espera. De forma predeterminada, no hay tiempo de espera.
Propiedades del parámetro
| Tipo: | Int32 |
| Valor predeterminado: | None |
| Admite caracteres comodín: | False |
| DontShow: | False |
| Alias: | TimeoutSec |
Conjuntos de parámetros
(All)
| Posición: | 1 |
| Mandatory: | False |
| Valor de la canalización: | False |
| Valor de la canalización por nombre de propiedad: | False |
| Valor de los argumentos restantes: | False |
CommonParameters
Este cmdlet admite los parámetros comunes: -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutBuffer, -OutVariable, -PipelineVariable, -ProgressAction, -Verbose, -WarningAction y -WarningVariable. Para obtener más información, vea about_CommonParameters.
Entradas
Process
Puede canalizar un objeto de proceso a este cmdlet.
Salidas
None
De forma predeterminada, este cmdlet no devuelve ninguna salida.
Process
El cmdlet devuelve objetos de proceso cuando se usa el parámetro PassThru.
Notas
Este cmdlet usa el método WaitForExit de la clase System.Diagnostics.Process de.
A diferencia de
Start-Process -Wait,Wait-Processsolo espera los procesos identificados.Start-Process -Waitespera a que el árbol de procesos (el proceso y todos sus descendientes) salgan antes de devolver el control.