Compartir a través de


Wait-Process

Espera a que los procesos se detengan antes de aceptar más entradas.

Sintaxis

Name (valor predeterminado)

Wait-Process
    [-Name] <String[]>
    [[-Timeout] <Int32>]
    [<CommonParameters>]

Id

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

InputObject

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

Description

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 Windows 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

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 del Bloc de notas y, a continuación, se espera a que el proceso se detenga antes de continuar con el comando siguiente.

El primer comando usa el cmdlet Get-Process para obtener el identificador del proceso del Bloc de notas. Almacena el identificador en la variable $nid.

El segundo comando usa el cmdlet Stop-Process para detener el proceso con el identificador almacenado en $nid.

El tercer comando usa wait-Process para esperar hasta que se detenga el proceso del Bloc de notas. Usa el parámetro id. de 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 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.

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 para que los procesos de Outlook y Winword se detengan. Si no se detienen ambos procesos, 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.

Propiedades de 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
Obligatorio: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 de parámetro

Tipo:

Process[]

Valor predeterminado:None
Admite caracteres comodín:False
DontShow:False

Conjuntos de parámetros

InputObject
Posición:Named
Obligatorio: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 admite el uso de caracteres comodín.

Propiedades de parámetro

Tipo:

String[]

Valor predeterminado:None
Admite caracteres comodín:False
DontShow:False
Alias:ProcessName

Conjuntos de parámetros

Name
Posición:0
Obligatorio:True
Valor de la canalización:False
Valor de la canalización por nombre de propiedad:True
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 de parámetro

Tipo:Int32
Valor predeterminado:None
Admite caracteres comodín:False
DontShow:False
Alias:TimeoutSec

Conjuntos de parámetros

(All)
Posición:1
Obligatorio: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

Este cmdlet no genera ningún resultado.

Notas

  • Este cmdlet usa el método waitForExit de de la clase System.Diagnostics.Process. Para obtener más información sobre este método, consulte el SDK de Microsoft .NET Framework.