Freigeben über


Wait-Process

Wartet, bis die Prozesse beendet wurden, bevor weitere Eingaben angenommen werden.

Syntax

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

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

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

Beschreibung

Das Cmdlet "Wait-Process" wartet, bis einer oder mehrere ausgeführte Prozesse beendet werden, bevor Eingaben angenommen werden. In der Windows PowerShell-Konsole unterdrückt dieses Cmdlet die Eingabeaufforderung, bis die Prozesse beendet wurden. Sie können Prozesse durch ihren Prozessnamen oder Prozess-ID (PID) angeben, oder Sie können ein Prozessobjekt über die Pipeline an Wait-Process übergeben.

Wait-Process kann nur für Prozesse verwendet werden, die auf dem lokalen Computer ausgeführt werden.

Parameter

-Id <Int32[]>

Gibt die Prozess-IDs der Prozesse an. Wenn Sie mehrere IDs angeben, trennen Sie diese durch Kommas. Um die PID eines Prozesses zu suchen, geben Sie "Get-Process" ein. Der Parametername ("Id") ist optional.

Erforderlich?

true

Position?

1

Standardwert

Pipelineeingaben akzeptieren?

true (ByPropertyName)

Platzhalterzeichen akzeptieren?

false

-InputObject <Process[]>

Gibt die Prozesse durch Senden von Prozessobjekten an. Geben Sie eine Variable ein, die die Prozessobjekte enthält, oder einen Befehl oder einen Ausdruck, mit dem die Prozessobjekte abgerufen werden, z. B. den Befehl "Get-Process".

Erforderlich?

true

Position?

named

Standardwert

Pipelineeingaben akzeptieren?

true (ByValue)

Platzhalterzeichen akzeptieren?

false

-Name <string[]>

Gibt die Prozessnamen der Prozesse an. Wenn Sie mehrere Namen angeben, trennen Sie diese durch Kommas.

Erforderlich?

true

Position?

1

Standardwert

Pipelineeingaben akzeptieren?

true (ByPropertyName)

Platzhalterzeichen akzeptieren?

false

-Timeout <int>

Bestimmt die maximale Zeit, in Sekunden, die Wait-Process wartet, bis die angegebenen Prozesse beendet wurden. Wenn dieses Intervall abläuft, zeigt der Befehl einen Fehler ohne Abbruch an, bei dem die noch ausgeführten Prozesse aufgeführt werden, und beendet den Wartevorgang.

Erforderlich?

false

Position?

2

Standardwert

Pipelineeingaben akzeptieren?

false

Platzhalterzeichen akzeptieren?

false

<CommonParameters>

Dieses Cmdlet unterstützt die folgenden allgemeinen Parameter: -Verbose, -Debug, -ErrorAction, -ErrorVariable, -OutBuffer und -OutVariable. Weitere Informationen finden Sie unter about_Commonparameters.

Eingaben und Ausgaben

Der Eingabetyp ist der Typ der Objekte, die über die Pipeline an das Cmdlet übergeben werden können. Der Rückgabetyp ist der Typ der Objekte, die das Cmdlet zurückgibt.

Eingaben

System.Diagnostics.Process

Sie können ein Prozessobjekt über die Pipeline an Wait-Process übergeben.

Ausgaben

Keiner

Dieses Cmdlet generiert keine Ausgabe.

Hinweise

Dieses Cmdlet verwendet die WaitForExit-Methode der System.Diagnostics.Process-Klasse. Weitere Informationen über diese Methode finden Sie im Microsoft .NET Framework SDK.

Beispiel 1

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

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

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

Beschreibung
-----------
Diese Befehle beenden den Editor-Prozess und warten dann auf das Beenden des Prozesses, bevor mit dem nächsten Befehl fortgefahren wird.

Im ersten Befehl wird mit dem Cmdlet "Get-Process" die ID des Editor-Prozesses abgerufen. Diese wird in der Variablen "$nid" gespeichert.

Der zweite Befehl beendet mithilfe des Cmdlets "Stop-Process" den Prozess mit der in "$nid" gespeicherten ID.

Der dritte Befehl wartet mit dem Cmdlet "Wait-Process", bis der Editor-Prozess beendet wird. Der Prozess wird anhand des ID-Parameters von Wait-Process identifiziert.





Beispiel 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

Beschreibung
-----------
Diese Befehle veranschaulichen drei unterschiedliche Methoden zum Angeben eines Prozesses für das Cmdlet "Wait-Process". Der erste Befehl ruft den Editor-Prozess ab und speichert ihn in der Variablen "$p".

Im zweiten Befehl wird der ID-Parameter verwendet, im dritten Befehl der Name-Parameter und im vierten Befehl der InputObject-Parameter. 

Die Ergebnisse dieser Befehle sind identisch und austauschbar.





Beispiel 3

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

Beschreibung
-----------
Dieser Befehl wartet 30 Sekunden, dass die Prozesse "Outlook" und "Winword" beendet werden. Wenn beide Prozesse nicht beendet werden, zeigt das Cmdlet einen Fehler ohne Abbruch sowie die Eingabeaufforderung an.





Siehe auch

Konzepte

Get-Process
Start-Process
Stop-Process
Wait-Process
Debug-Process