Wait-Process
Väntar på att processerna ska stoppas innan du accepterar fler indata.
Syntax
Wait-Process
[-Name] <String[]>
[[-Timeout] <Int32>]
[<CommonParameters>]
Wait-Process
[-Id] <Int32[]>
[[-Timeout] <Int32>]
[<CommonParameters>]
Wait-Process
[[-Timeout] <Int32>]
-InputObject <Process[]>
[<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 för Anteckningar processen och lagrar den 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 till Wait-Process
. Det första kommandot hämtar Anteckningar process och lagrar den i variabeln$p
. Det andra kommandot använder ID-parametern , det tredje kommandot använder parametern Namn 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 Wait-Process
väntar 30 sekunder på att Outlook - och Winword-processerna ska stoppas. Om båda processerna inte stoppas visar cmdleten ett icke-avslutande fel och kommandotolken.
Wait-Process -Name outlook, winword -Timeout 30
Parametrar
-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
.
Type: | Int32[] |
Aliases: | PID, ProcessId |
Position: | 0 |
Default value: | None |
Required: | True |
Accept pipeline input: | True |
Accept wildcard characters: | 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
.
Type: | Process[] |
Position: | Named |
Default value: | None |
Required: | True |
Accept pipeline input: | True |
Accept wildcard characters: | 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.
Type: | String[] |
Aliases: | ProcessName |
Position: | 0 |
Default value: | None |
Required: | True |
Accept pipeline input: | True |
Accept wildcard characters: | 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.
Type: | Int32 |
Aliases: | TimeoutSec |
Position: | 1 |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
Indata
Du kan skicka ett processobjekt till den här cmdleten.
Utdata
None
Den här cmdleten returnerar inga utdata.
Kommentarer
Den här cmdleten använder metoden WaitForExit i klassen System.Diagnostics.Process .
Till skillnad från
Start-Process -Wait
väntarWait-Process
bara på de identifierade processerna.Start-Process -Wait
väntar på att processträdet (processen och alla dess underordnade) ska avslutas innan kontrollen returneras.
Relaterade länkar
Feedback
https://aka.ms/ContentUserFeedback.
Kommer snart: Under hela 2024 kommer vi att fasa ut GitHub-problem som feedbackmekanism för innehåll och ersätta det med ett nytt feedbacksystem. Mer information finns i:Skicka och visa feedback för