Wait-Process
Espera a que los procesos se detengan antes de aceptar más entradas.
Syntax
Wait-Process
[-Name] <String[]>
[[-Timeout] <Int32>]
[<CommonParameters>]
Wait-Process
[-Id] <Int32[]>
[[-Timeout] <Int32>]
[<CommonParameters>]
Wait-Process
[[-Timeout] <Int32>]
-InputObject <Process[]>
[<CommonParameters>]
Description
El Wait-Process
cmdlet 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 a Wait-Process
.
Wait-Process
funciona solo en procesos que se ejecutan en el equipo local.
Ejemplos
Ejemplo 1: Detener un proceso y esperar
PS C:\> $nid = (Get-Process notepad).id
PS C:\> Stop-Process -Id $nid
PS C:\> Wait-Process -Id $nid
En este ejemplo se detiene el proceso de Bloc de notas y, a continuación, se espera a que el proceso se detenga antes de continuar con el siguiente comando.
El primer comando usa el Get-Process
cmdlet para obtener el identificador del proceso de Bloc de notas. Almacena el identificador en la $nid
variable.
El segundo comando usa el Stop-Process
cmdlet para detener el proceso con el identificador almacenado en $nid
.
El tercer comando usa Wait-Process
para esperar hasta que se detenga el proceso de Bloc de notas. Usa el parámetro Id de Wait-Process
para identificar el proceso.
Ejemplo 2: Especificación de un proceso
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
Estos comandos muestran tres métodos diferentes para especificar un proceso en Wait-Process
. El primer comando obtiene el proceso de Bloc de notas y lo almacena en la $p
variable .
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 .
Estos comandos tienen los mismos resultados y se pueden usar indistintamente.
Ejemplo 3: Esperar procesos durante un tiempo especificado
PS C:\> Wait-Process -Name outlook, winword -Timeout 30
Este comando espera 30 segundos a que los procesos Outlook y Winword. Si ninguno de ellos se detiene, el cmdlet muestra un error de no terminación y el símbolo del sistema.
Parámetros
-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
.
Type: | Int32[] |
Aliases: | PID, ProcessId |
Position: | 0 |
Default value: | None |
Required: | True |
Accept pipeline input: | True |
Accept wildcard characters: | 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 Get-Process
cmdlet .
Type: | Process[] |
Position: | Named |
Default value: | None |
Required: | True |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-Name
Especifica los nombres de proceso de los procesos. Si se van a especificar varios nombres, use comas para separarlos. No se admite el uso de caracteres comodín.
Type: | String[] |
Aliases: | ProcessName |
Position: | 0 |
Default value: | None |
Required: | True |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-Timeout
Especifica el tiempo máximo, en segundos, que este cmdlet espera a que se detengan los procesos especificados. Cuando este intervalo finaliza, el comando muestra un error de no terminación en el que se enumeran los procesos que se están ejecutando y finaliza la espera. De forma predeterminada, no hay tiempo de espera.
Type: | Int32 |
Aliases: | TimeoutSec |
Position: | 1 |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
Entradas
Puede canalizar un objeto de proceso a este cmdlet.
Salidas
None
Este cmdlet no devuelve ningún resultado.
Notas
Este cmdlet usa el método WaitForExit de la clase System.Diagnostics.Process .
A diferencia de
Start-Process -Wait
,Wait-Process
solo espera los procesos identificados.Start-Process -Wait
espera a que el árbol de procesos (el proceso y todos sus descendientes) salgan antes de devolver el control.
Vínculos relacionados
Comentarios
https://aka.ms/ContentUserFeedback.
Próximamente: A lo largo de 2024 iremos eliminando gradualmente GitHub Issues como mecanismo de comentarios sobre el contenido y lo sustituiremos por un nuevo sistema de comentarios. Para más información, vea:Enviar y ver comentarios de