Delen via


Wait-Process

Wacht totdat de processen zijn gestopt voordat u meer invoer accepteert.

Syntaxis

Name (Standaard)

Wait-Process
    [-Name] <String[]>
    [[-Timeout] <Int32>]
    [-Any]
    [-PassThru]
    [<CommonParameters>]

Id

Wait-Process
    [-Id] <Int32[]>
    [[-Timeout] <Int32>]
    [-Any]
    [-PassThru]
    [<CommonParameters>]

InputObject

Wait-Process
    [[-Timeout] <Int32>]
    -InputObject <Process[]>
    [-Any]
    [-PassThru]
    [<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 gewacht tot het proces is gestopt voordat het verdergaat 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 op van het Kladblok proces 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 voor 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.

$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 wacht Wait-Process 30 seconden totdat de Outlook- en Winword- processen worden 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 aan 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.

Parametereigenschappen

Type:SwitchParameter
Default value:None
Ondersteunt jokertekens:False
DontShow:False

Parametersets

(All)
Position:Named
Verplicht:False
Waarde uit pijplijn:False
Waarde uit pijplijn op eigenschapsnaam:False
Waarde van resterende argumenten: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 u Get-Process.

Parametereigenschappen

Type:

Int32[]

Default value:None
Ondersteunt jokertekens:False
DontShow:False
Aliassen:PID, ProcessId

Parametersets

Id
Position:0
Verplicht:True
Waarde uit pijplijn:False
Waarde uit pijplijn op eigenschapsnaam:True
Waarde van resterende argumenten: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.

Parametereigenschappen

Type:

Process[]

Default value:None
Ondersteunt jokertekens:False
DontShow:False

Parametersets

InputObject
Position:Named
Verplicht:True
Waarde uit pijplijn:True
Waarde uit pijplijn op eigenschapsnaam:False
Waarde van resterende argumenten: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.

Parametereigenschappen

Type:

String[]

Default value:None
Ondersteunt jokertekens:False
DontShow:False
Aliassen:ProcessName

Parametersets

Name
Position:0
Verplicht:True
Waarde uit pijplijn:False
Waarde uit pijplijn op eigenschapsnaam:True
Waarde van resterende argumenten: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.

Parametereigenschappen

Type:SwitchParameter
Default value:None
Ondersteunt jokertekens:False
DontShow:False

Parametersets

(All)
Position:Named
Verplicht:False
Waarde uit pijplijn:False
Waarde uit pijplijn op eigenschapsnaam:False
Waarde van resterende argumenten: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.

Parametereigenschappen

Type:Int32
Default value:None
Ondersteunt jokertekens:False
DontShow:False
Aliassen:TimeoutSec

Parametersets

(All)
Position:1
Verplicht:False
Waarde uit pijplijn:False
Waarde uit pijplijn op eigenschapsnaam:False
Waarde van resterende argumenten:False

CommonParameters

Deze cmdlet ondersteunt de algemene parameters: -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutBuffer, -OutVariable, -PipelineVariable, -ProgressAction, -Verbose, -WarningAction en -WarningVariable. Zie about_CommonParametersvoor meer informatie.

Invoerwaarden

Process

U kunt een procesobject doorsluisen naar deze cmdlet.

Uitvoerwaarden

None

Deze cmdlet retourneert standaard geen uitvoer.

Process

De cmdlet retourneert procesobjecten wanneer u de parameter PassThru gebruikt.

Notities

  • Deze cmdlet maakt gebruik van de methode WaitForExit van de klasse System.Diagnostics.Process.

  • In tegenstelling tot Start-Process -Wait, wacht Wait-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.