Dela via


Wait-Process

Väntar på att processerna ska stoppas innan du accepterar fler indata.

Syntax

Name (Standard)

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

Id

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

InputObject

Wait-Process
    [[-Timeout] <Int32>]
    -InputObject <Process[]>
    [<CommonParameters>]

Description

Den här cmdleten fungerar inte i 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

-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

-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

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 -Waitväntar Wait-Process bara på de identifierade processerna. Start-Process -Wait väntar på att processträdet (processen och alla underordnade) ska avslutas innan kontrollen returneras.