Wait-Process
Wacht totdat de processen zijn gestopt voordat u meer invoer accepteert.
Syntax
Wait-Process
[-Name] <String[]>
[[-Timeout] <Int32>]
[-Any]
[-PassThru]
[<CommonParameters>]
Wait-Process
[-Id] <Int32[]>
[[-Timeout] <Int32>]
[-Any]
[-PassThru]
[<CommonParameters>]
Wait-Process
[[-Timeout] <Int32>]
[-Any]
[-PassThru]
-InputObject <Process[]>
[<CommonParameters>]
Description
Deze cmdlet werkt niet in Linux of macOS.
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
In dit voorbeeld wordt het Kladblok proces gestopt en wordt vervolgens gewacht tot het proces is gestopt voordat het doorgaat met de volgende opdracht.
$nid = (Get-Process notepad).id
Stop-Process -Id $nid
Wait-Process -Id $nid
De Get-Process
cmdlet haalt de proces-id van het Kladblok proces op en slaat deze op in de $nid
variabele. Stop-Process
stopt het proces met de id die is opgeslagen in $nid
. Wait-Process
wacht totdat het Kladblok proces is gestopt.
Voorbeeld 2: Een proces opgeven
In dit voorbeeld ziet u drie verschillende methoden voor het opgeven van een proces.Wait-Process
Met de eerste opdracht wordt het Kladblok proces opgeslagen en opgeslagen in de $p
variabele. De tweede opdracht maakt gebruik van de parameter Id, de derde opdracht gebruikt de parameter Name en de vierde opdracht maakt gebruik van de parameter InputObject.
$p = Get-Process notepad
Wait-Process -Id $p.id
Wait-Process -Name "notepad"
Wait-Process -InputObject $p
Deze opdrachten hebben dezelfde resultaten en kunnen door elkaar worden gebruikt.
Voorbeeld 3: Wachten op processen voor een opgegeven tijd
In dit voorbeeld Wait-Process
wacht u 30 seconden totdat de Outlook - en Winword-processen zijn gestopt. Als beide processen niet worden gestopt, geeft de cmdlet een niet-afsluitfout en de opdrachtprompt weer.
Wait-Process -Name outlook, winword -Timeout 30
Parameters
-Any
Wanneer meerdere processen worden doorgegeven Wait-Process
, wacht de cmdlet totdat alle processen worden afgesloten voordat ze worden geretourneerd. Met deze parameter wordt de cmdlet geretourneerd wanneer een van de processen wordt afgesloten. De resterende processen blijven worden uitgevoerd.
Deze parameter is toegevoegd in PowerShell 7.4.
Type: | SwitchParameter |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-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 Get-Process
u .
Type: | Int32[] |
Aliases: | PID, ProcessId |
Position: | 0 |
Default value: | None |
Required: | True |
Accept pipeline input: | True |
Accept wildcard characters: | 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 |
Required: | True |
Accept pipeline input: | True |
Accept wildcard characters: | 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[] |
Aliases: | ProcessName |
Position: | 0 |
Default value: | None |
Required: | True |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-PassThru
Deze cmdlet voert standaard niets uit. Met deze parameter retourneert de cmdlet objecten die de processen vertegenwoordigen waarop is gewacht.
Deze parameter is toegevoegd in PowerShell 7.4.
Type: | SwitchParameter |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | 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 |
Aliases: | TimeoutSec |
Position: | 1 |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
Invoerwaarden
U kunt een procesobject doorsluisen naar deze cmdlet.
Uitvoerwaarden
None
Deze cmdlet retourneert standaard geen uitvoer.
De cmdlet retourneert procesobjecten wanneer u de parameter PassThru gebruikt.
Notities
Deze cmdlet maakt gebruik van de WaitForExit-methode van de klasse System.Diagnostics.Process .
In tegenstelling tot
Start-Process -Wait
,Wait-Process
wacht alleen op de geïdentificeerde processen.Start-Process -Wait
wacht totdat de processtructuur (het proces en alle bijbehorende nakomelingen) wordt afgesloten voordat de controle wordt geretourneerd.
Verwante koppelingen
Feedback
https://aka.ms/ContentUserFeedback.
Binnenkort beschikbaar: In de loop van 2024 zullen we GitHub-problemen geleidelijk uitfaseren als het feedbackmechanisme voor inhoud en deze vervangen door een nieuw feedbacksysteem. Zie voor meer informatie:Feedback verzenden en weergeven voor