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

Sintaxis

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

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

Wait-Process [-Name] <string[]> [[-Timeout] <int>] [<CommonParameters>]

Descripción

El cmdlet Wait-Process espera a que uno o más procesos en ejecución se detengan antes de aceptar datos de entrada. En la consola de Windows PowerShell, este cmdlet suprime el símbolo del sistema hasta que los procesos se detengan. Se puede especificar un proceso por nombre de proceso o por Id. de proceso (PID), o canalizar un objeto de proceso a Wait-Process.

Wait-Process solo puede utilizarse en procesos que se ejecutan en el equipo local.

Parámetros

-Id <Int32[]>

Especifica los identificadores de proceso de los procesos. Para especificar varios identificadores debe separarlos con comas. Para buscar el identificador de un proceso, escriba "Get-Process". El nombre del parámetro ("Id") es opcional.

¿Requerido?

true

¿Posición?

1

Valor predeterminado

¿Aceptar canalización?

true (ByPropertyName)

¿Aceptar caracteres comodín?

false

-InputObject <Process[]>

Especifica los procesos enviando 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 un comando Get-Process.

¿Requerido?

true

¿Posición?

named

Valor predeterminado

¿Aceptar canalización?

true (ByValue)

¿Aceptar caracteres comodín?

false

-Name <string[]>

Especifica los nombres de proceso de los procesos. Para especificar varios nombres debe separarlos con comas.

¿Requerido?

true

¿Posición?

1

Valor predeterminado

¿Aceptar canalización?

true (ByPropertyName)

¿Aceptar caracteres comodín?

false

-Timeout <int>

Determina el período de tiempo máximo, en segundos, que Wait-Process espera a que los procesos especificados se detengan. Cuando este intervalo expira, el comando muestra un error que no provoca fin que muestra los procesos que se están ejecutando todavía y finaliza la espera.

¿Requerido?

false

¿Posición?

2

Valor predeterminado

¿Aceptar canalización?

false

¿Aceptar caracteres comodín?

false

<CommonParameters>

Este cmdlet admite los parámetros comunes: -Verbose, -Debug, -ErrorAction, -ErrorVariable, -OutBuffer y -OutVariable. Para obtener más información, vea about_Commonparameters.

Entradas y salidas

El tipo de entrada es el tipo de los objetos que se pueden canalizar al cmdlet. El tipo devuelto es el tipo de los objetos que el cmdlet devuelve.

Entradas

System.Diagnostics.Process

Puede canalizar un objeto de proceso a Wait-Process.

Salidas

Ninguno

Este cmdlet no genera resultados.

Notas

Este cmdlet utiliza el método WaitForExit de la clase System.Diagnostics.Process. Para obtener más información sobre este método, vea el SDK de Microsoft .NET Framework.

Ejemplo 1

C:\PS>$nid = (get-process notepad).id

C:\PS> stop-process -id $nid

C:\PS> wait-process -id $nid

Descripción
-----------
Estos comandos detienen el proceso de Notepad y, a continuación, esperan 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 Notepad. Lo guarda en la variable $nid.

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

El tercer comando usa el cmdlet Wait-Process para esperar hasta que el proceso Notepad se detenga. Utiliza el parámetro ID de Wait-Process para identificar el proceso.






Ejemplo 2

C:\PS>$p = get-process notepad

C:\PS> wait-process -id $p.id

C:\PS> wait-process -name notepad

C:\PS> wait-process -inputobject $p

Descripción
-----------
Estos comandos muestran tres métodos diferentes para especificar un proceso al cmdlet Wait-Process. El primer comando obtiene el proceso Notepad y lo guarda en la variable $p.

El segundo comando utiliza el parámetro ID, el tercero usa el parámetro Name y el cuarto, el parámetro InputObject. 

Estos comandos tienen los mismos resultados y se pueden intercambiar.






Ejemplo 3

C:\PS>wait-process -name outlook, winword -timeout 30

Descripción
-----------
Este comando espera 30 segundos a que los procesos Outlook y Winword se detengan. Si ambos procesos no se detienen, el cmdlet muestra un error que no provoca fin y muestra el símbolo del sistema.






Vea también




Tabla de contenido