Sdílet prostřednictvím


Wait-Process

Před přijetím dalšího vstupu počká na zastavení procesů.

Syntaxe

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

Description

Rutina Wait-Process čeká na zastavení jednoho nebo více spuštěných procesů před přijetím vstupu. V konzole Windows PowerShellu tato rutina potlačí příkazový řádek, dokud se procesy nezastaví. Proces můžete zadat podle názvu procesu nebo ID procesu (PID) nebo předvést objekt procesu tak, aby wait-process.

wait-process funguje jenom na procesech spuštěných v místním počítači.

Příklady

Příklad 1: Zastavení procesu a čekání

PS C:\> $nid = (Get-Process notepad).id
PS C:\> Stop-Process -Id $nid
PS C:\> Wait-Process -Id $nid

Tento příklad zastaví proces Poznámkového bloku a potom počká, až se proces zastaví, než bude pokračovat dalším příkazem.

První příkaz používá rutinu Get-Process k získání ID procesu Poznámkového bloku. Uloží ID do proměnné $nid.

Druhý příkaz pomocí rutiny Stop-Process zastaví proces s ID uloženým v $nid.

Třetí příkaz používá wait-process čekat, dokud se proces Poznámkového bloku nezastaví. K identifikaci procesu používá parametr ID wait-process.

Příklad 2: Určení procesu

PS C:\> $p = Get-Process notepad
PS C:\> Wait-Process -Id $p.id
PS C:\> Wait-Process -Name "notepad"
PS C:\> Wait-Process -InputObject $p

Tyto příkazy zobrazují tři různé metody určení procesu pro wait-process. První příkaz získá proces Poznámkového bloku a uloží ho do proměnné $p.

Druhý příkaz používá parametr ID, třetí příkaz používá parametr Name a čtvrtý příkaz používá parametr InputObject.

Tyto příkazy mají stejné výsledky a dají se použít zaměnitelně.

Příklad 3: Čekání na procesy po určitou dobu

PS C:\> Wait-Process -Name outlook, winword -Timeout 30

Tento příkaz počká 30 sekund, než se zastaví procesy Outlooku a Winwordu. Pokud oba procesy nejsou zastavené, zobrazí rutina neukončující chybu a příkazový řádek.

Parametry

-Id

Určuje ID procesů procesů. Pokud chcete zadat více ID, oddělte ID čárkami. Chcete-li najít KÓD PID procesu, zadejte Get-Process.

Typ:Int32[]
Aliasy:PID, ProcessId
Position:0
Default value:None
Vyžadováno:True
Přijmout vstup kanálu:True
Přijmout zástupné znaky:False

-InputObject

Určuje procesy odesláním objektů procesu. Zadejte proměnnou, která obsahuje objekty procesu, nebo zadejte příkaz nebo výraz, který získá objekty procesu, například rutinu Get-Process.

Typ:Process[]
Position:Named
Default value:None
Vyžadováno:True
Přijmout vstup kanálu:True
Přijmout zástupné znaky:False

-Name

Určuje názvy procesů. Pokud chcete zadat více názvů, oddělte názvy čárkami. Zástupné znaky nejsou podporovány.

Typ:String[]
Aliasy:ProcessName
Position:0
Default value:None
Vyžadováno:True
Přijmout vstup kanálu:True
Přijmout zástupné znaky:False

-Timeout

Určuje maximální dobu v sekundách, po kterou tato rutina čeká na zastavení zadaných procesů. Po vypršení tohoto intervalu zobrazí příkaz neukončující chybu se seznamem spuštěných procesů a ukončí čekání. Ve výchozím nastavení neexistuje žádný časový limit.

Typ:Int32
Aliasy:TimeoutSec
Position:1
Default value:None
Vyžadováno:False
Přijmout vstup kanálu:False
Přijmout zástupné znaky:False

Vstupy

Process

Objekt procesu můžete do této rutiny převést.

Výstupy

None

Tato rutina negeneruje žádný výstup.

Poznámky

  • Tato rutina používá metodu WaitForExit třídy System.Diagnostics.Process. Další informace o této metodě naleznete v sadě Microsoft .NET Framework SDK.