Wait-Process
Wacht totdat de processen zijn gestopt voordat u meer invoer accepteert.
Syntaxis
Wait-Process
[-Name] <String[]>
[[-Timeout] <Int32>]
[<CommonParameters>]
Wait-Process
[-Id] <Int32[]>
[[-Timeout] <Int32>]
[<CommonParameters>]
Wait-Process
[[-Timeout] <Int32>]
-InputObject <Process[]>
[<CommonParameters>]
Description
De wait-process cmdlet wacht tot een of meer actieve processen zijn gestopt voordat invoer wordt geaccepteerd. In de Windows PowerShell-console onderdrukt deze cmdlet de opdrachtprompt totdat de processen zijn gestopt. U kunt een proces opgeven op basis van procesnaam of proces-id (PID) of een procesobject doorsluisen om te wachtproces.
wachtproces werkt alleen op processen die op de lokale computer worden uitgevoerd.
Voorbeelden
Voorbeeld 1: Een proces stoppen en wachten
PS C:\> $nid = (Get-Process notepad).id
PS C:\> Stop-Process -Id $nid
PS C:\> Wait-Process -Id $nid
In dit voorbeeld wordt het Kladblok-proces gestopt en wordt gewacht totdat het proces is gestopt voordat het doorgaat met de volgende opdracht.
De eerste opdracht maakt gebruik van de cmdlet Get-Process om de id van het Kladblok-proces op te halen. De id wordt opgeslagen in de variabele $nid.
De tweede opdracht maakt gebruik van de Stop-Process cmdlet om het proces te stoppen met de id die is opgeslagen in $nid.
De derde opdracht maakt gebruik van wachtproces om te wachten totdat het Kladblok-proces is gestopt. Hierbij wordt de parameter Id van Wait-Process gebruikt om het proces te identificeren.
Voorbeeld 2: Een proces opgeven
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
Deze opdrachten tonen drie verschillende methoden voor het opgeven van een proces dat moet worden wachtproces. Met de eerste opdracht wordt het Kladblok-proces opgeslagen in de $p variabele.
De tweede opdracht gebruikt de parameter Id, de derde opdracht gebruikt de parameter name en de vierde opdracht gebruikt de parameter InputObject.
Deze opdrachten hebben dezelfde resultaten en kunnen door elkaar worden gebruikt.
Voorbeeld 3: Wachten op processen voor een opgegeven tijd
PS C:\> Wait-Process -Name outlook, winword -Timeout 30
Met deze opdracht wordt 30 seconden gewacht totdat de Outlook- en Winword-processen zijn gestopt. Als beide processen niet worden gestopt, geeft de cmdlet een niet-afsluitfout en de opdrachtprompt weer.
Parameters
-Id
Hiermee geeft u de proces-id's van de processen.
Als u meerdere id's wilt opgeven, gebruikt u komma's om de id's te scheiden.
Als u de PID van een proces wilt vinden, typt u Get-Process
.
Type: | Int32[] |
Aliassen: | PID, ProcessId |
Position: | 0 |
Default value: | None |
Vereist: | True |
Pijplijninvoer accepteren: | True |
Jokertekens accepteren: | False |
-InputObject
Hiermee geeft u de processen op door procesobjecten te verzenden. Voer een variabele in die de procesobjecten bevat of typ een opdracht of expressie waarmee de procesobjecten worden opgehaald, zoals de Get-Process cmdlet.
Type: | Process[] |
Position: | Named |
Default value: | None |
Vereist: | True |
Pijplijninvoer accepteren: | True |
Jokertekens accepteren: | False |
-Name
Hiermee geeft u de procesnamen van de processen. Als u meerdere namen wilt opgeven, gebruikt u komma's om de namen te scheiden. Jokertekens worden niet ondersteund.
Type: | String[] |
Aliassen: | ProcessName |
Position: | 0 |
Default value: | None |
Vereist: | True |
Pijplijninvoer accepteren: | True |
Jokertekens accepteren: | False |
-Timeout
Hiermee geeft u de maximale tijd in seconden op dat deze cmdlet wacht tot de opgegeven processen worden gestopt. Wanneer dit interval verloopt, geeft de opdracht een niet-afsluitfout weer waarin de processen worden vermeld die nog actief zijn en eindigt de wachttijd. Er is standaard geen time-out.
Type: | Int32 |
Aliassen: | TimeoutSec |
Position: | 1 |
Default value: | None |
Vereist: | False |
Pijplijninvoer accepteren: | False |
Jokertekens accepteren: | False |
Invoerwaarden
U kunt een procesobject doorsluisen naar deze cmdlet.
Uitvoerwaarden
None
Met deze cmdlet wordt geen uitvoer gegenereerd.
Notities
Deze cmdlet maakt gebruik van de methode WaitForExit van de klasse System.Diagnostics.Process. Zie de Microsoft .NET Framework SDK voor meer informatie over deze methode.