Wait-Process
Väntar på att processerna ska stoppas innan du accepterar fler indata.
Syntax
Name (Standard)
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
Den här cmdleten fungerar inte på Linux eller macOS.
Cmdleten Wait-Process väntar på att en eller flera processer som körs ska stoppas innan indata accepteras. I PowerShell-konsolen undertrycker den här cmdleten kommandotolken tills processerna stoppas. Du kan ange en process efter processnamn eller process-ID (PID) eller skicka ett processobjekt till Wait-Process.
Wait-Process fungerar bara på processer som körs på den lokala datorn.
Exempel
Exempel 1: Stoppa en process och vänta
Det här exemplet stoppar Anteckningar processen och väntar sedan på att processen ska stoppas innan den fortsätter med nästa kommando.
$nid = (Get-Process notepad).Id
Stop-Process -Id $nid
Wait-Process -Id $nid
Cmdleten Get-Process hämtar process-ID:t för Anteckningar process och lagrar det i variabeln $nid.
Stop-Process stoppar processen med det ID som lagras i $nid.
Wait-Process väntar tills Anteckningar processen har stoppats.
Exempel 2: Ange en process
Det här exemplet visar tre olika metoder för att ange en process för att Wait-Process. Det första kommandot hämtar Anteckningar-processen och lagrar den i variabeln $p. Det andra kommandot använder parametern ID, det tredje kommandot använder parametern Name och det fjärde kommandot använder parametern InputObject.
$p = Get-Process notepad
Wait-Process -Id $p.Id
Wait-Process -Name "notepad"
Wait-Process -InputObject $p
Dessa kommandon har samma resultat och kan användas omväxlande.
Exempel 3: Vänta på processer under en angiven tid
I det här exemplet väntar Wait-Process 30 sekunder på att Outlook-- och Winword- processer ska stoppas. Om båda processerna inte stoppas visar cmdleten ett icke-avslutande fel och kommandotolken.
Wait-Process -Name outlook, winword -Timeout 30
Parametrar
-Any
När flera processer skickas till Wait-Processväntar cmdleten på att alla processer ska avslutas innan de returneras. Med den här parametern returnerar cmdleten när någon av processerna avslutas. De återstående processerna fortsätter att köras.
Den här parametern lades till i PowerShell 7.4.
Parameteregenskaper
| Typ: | SwitchParameter |
| Standardvärde: | None |
| Stöder jokertecken: | False |
| DontShow: | False |
Parameteruppsättningar
(All)
| Position: | Named |
| Obligatorisk: | False |
| Värde från pipeline: | False |
| Värde från pipeline efter egenskapsnamn: | False |
| Värde från återstående argument: | False |
-Id
Anger process-ID:t för processerna. Om du vill ange flera ID:er använder du kommatecken för att separera ID:erna.
Om du vill hitta PID:en för en process skriver du Get-Process.
Parameteregenskaper
| Typ: | Int32[] |
| Standardvärde: | None |
| Stöder jokertecken: | False |
| DontShow: | False |
| Alias: | PID, ProcessId |
Parameteruppsättningar
Id
| Position: | 0 |
| Obligatorisk: | True |
| Värde från pipeline: | False |
| Värde från pipeline efter egenskapsnamn: | True |
| Värde från återstående argument: | False |
-InputObject
Anger processerna genom att skicka processobjekt. Ange en variabel som innehåller processobjekten eller skriv ett kommando eller uttryck som hämtar processobjekten, till exempel cmdleten Get-Process.
Parameteregenskaper
| Typ: | Process[] |
| Standardvärde: | None |
| Stöder jokertecken: | False |
| DontShow: | False |
Parameteruppsättningar
InputObject
| Position: | Named |
| Obligatorisk: | True |
| Värde från pipeline: | True |
| Värde från pipeline efter egenskapsnamn: | False |
| Värde från återstående argument: | False |
-Name
Anger processnamnen för processerna. Om du vill ange flera namn använder du kommatecken för att avgränsa namnen. Jokertecken stöds inte.
Parameteregenskaper
| Typ: | String[] |
| Standardvärde: | None |
| Stöder jokertecken: | False |
| DontShow: | False |
| Alias: | ProcessName |
Parameteruppsättningar
Name
| Position: | 0 |
| Obligatorisk: | True |
| Värde från pipeline: | False |
| Värde från pipeline efter egenskapsnamn: | True |
| Värde från återstående argument: | False |
-PassThru
Den här cmdleten matar som standard inte ut något. Med den här parametern returnerar cmdleten objekt som representerar de processer som väntades på.
Den här parametern lades till i PowerShell 7.4.
Parameteregenskaper
| Typ: | SwitchParameter |
| Standardvärde: | None |
| Stöder jokertecken: | False |
| DontShow: | False |
Parameteruppsättningar
(All)
| Position: | Named |
| Obligatorisk: | False |
| Värde från pipeline: | False |
| Värde från pipeline efter egenskapsnamn: | False |
| Värde från återstående argument: | False |
-Timeout
Anger den maximala tid i sekunder som den här cmdleten väntar på att de angivna processerna ska stoppas. När det här intervallet upphör att gälla visar kommandot ett icke-avslutande fel som visar de processer som fortfarande körs och avslutar väntan. Som standard finns det ingen tidsgräns.
Parameteregenskaper
| Typ: | Int32 |
| Standardvärde: | None |
| Stöder jokertecken: | False |
| DontShow: | False |
| Alias: | TimeoutSec |
Parameteruppsättningar
(All)
| Position: | 1 |
| Obligatorisk: | False |
| Värde från pipeline: | False |
| Värde från pipeline efter egenskapsnamn: | False |
| Värde från återstående argument: | False |
CommonParameters
Den här cmdleten stöder vanliga parametrar: -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutBuffer, -OutVariable, -PipelineVariable, -ProgressAction, -Verbose, -WarningAction och -WarningVariable. Mer information finns i about_CommonParameters.
Indata
Process
Du kan skicka ett processobjekt till den här cmdleten.
Utdata
None
Som standard returnerar den här cmdleten inga utdata.
Process
Cmdleten returnerar processobjekt när du använder parametern PassThru.
Kommentarer
Den här cmdleten använder metoden WaitForExit i klassen System.Diagnostics.Process.
Till skillnad från
Start-Process -WaitväntarWait-Processbara på de identifierade processerna.Start-Process -Waitväntar på att processträdet (processen och alla underordnade) ska avslutas innan kontrollen returneras.