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 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 naar Wait-Process
.
Wait-Process
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 Get-Process
cmdlet 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 gebruikt Wait-Process
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 Wait-Process
. 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
Deze cmdlet retourneert geen uitvoer.
Notities
Deze cmdlet maakt gebruik van de methode WaitForExit van de klasse System.Diagnostics.Process.
In tegenstelling tot
Start-Process -Wait
, wachtWait-Process
alleen op de geïdentificeerde processen.Start-Process -Wait
wacht totdat de processtructuur (het proces en alle bijbehorende afstammelingen) wordt afgesloten voordat de controle wordt geretourneerd.