Wait-Process
Před přijetím dalšího vstupu počká na zastavení procesů.
Syntax
Name (Výchozí)
Wait-Process
[-Name] <String[]>
[[-Timeout] <Int32>]
[<CommonParameters>]
Id
Wait-Process
[-Id] <Int32[]>
[[-Timeout] <Int32>]
[<CommonParameters>]
InputObject
Wait-Process
[[-Timeout] <Int32>]
-InputObject <Process[]>
[<CommonParameters>]
Description
Tato rutina nefunguje v systémech Linux nebo macOS.
Rutina Wait-Process před přijetím vstupu čeká na zastavení jednoho nebo více spuštěných procesů. V konzole 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, který se má 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í
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.
$nid = (Get-Process notepad).id
Stop-Process -Id $nid
Wait-Process -Id $nid
Rutina Get-Process získá ID procesu procesu Poznámkového bloku a uloží ho do proměnné $nid.
Stop-Process zastaví proces s ID uloženým v $nid.
Wait-Process počká, až se proces poznámkového bloku zastaví.
Příklad 2: Určení procesu
Tento příklad ukazuje tři různé metody určení procesu 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.
$p = Get-Process notepad
Wait-Process -Id $p.id
Wait-Process -Name "notepad"
Wait-Process -InputObject $p
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
V tomto příkladu Wait-Process počká 30 sekund na zastavení procesů Outlook a winword. Pokud oba procesy nejsou zastavené, zobrazí rutina neukončující chybu a příkazový řádek.
Wait-Process -Name outlook, winword -Timeout 30
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.
Vlastnosti parametru
| Typ: | Int32[] |
| Default value: | None |
| Podporuje zástupné znaky: | False |
| DontShow: | False |
| Aliasy: | identifikátor PID, Id procesu |
Sady parametrů
Id
| Position: | 0 |
| Povinné: | True |
| Hodnota z kanálu: | False |
| Hodnota z kanálu podle názvu vlastnosti: | True |
| Hodnota ze zbývajících argumentů: | 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.
Vlastnosti parametru
| Typ: | Process[] |
| Default value: | None |
| Podporuje zástupné znaky: | False |
| DontShow: | False |
Sady parametrů
InputObject
| Position: | Named |
| Povinné: | True |
| Hodnota z kanálu: | True |
| Hodnota z kanálu podle názvu vlastnosti: | False |
| Hodnota ze zbývajících argumentů: | 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.
Vlastnosti parametru
| Typ: | String[] |
| Default value: | None |
| Podporuje zástupné znaky: | False |
| DontShow: | False |
| Aliasy: | ProcessName |
Sady parametrů
Name
| Position: | 0 |
| Povinné: | True |
| Hodnota z kanálu: | False |
| Hodnota z kanálu podle názvu vlastnosti: | True |
| Hodnota ze zbývajících argumentů: | 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.
Vlastnosti parametru
| Typ: | Int32 |
| Default value: | None |
| Podporuje zástupné znaky: | False |
| DontShow: | False |
| Aliasy: | TimeoutSec |
Sady parametrů
(All)
| Position: | 1 |
| Povinné: | False |
| Hodnota z kanálu: | False |
| Hodnota z kanálu podle názvu vlastnosti: | False |
| Hodnota ze zbývajících argumentů: | False |
CommonParameters
Tato rutina podporuje běžné parametry: -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutBuffer, -OutVariable, -PipelineVariable, -ProgressAction, -Verbose, -WarningAction a -WarningVariable. Další informace najdete v about_CommonParameters.
Vstupy
Process
Objekt procesu můžete do této cmdletu přesměrovat.
Výstupy
None
Tento cmdlet nevrátí žádný výstup.
Poznámky
Tato rutina používá metodu WaitForExit třídy System.Diagnostics.Process.
Na rozdíl od
Start-Process -WaitWait-Processčeká pouze na zjištěné procesy.Start-Process -Waitčeká na ukončení stromu procesu (procesu a všech jeho potomků) před vrácením ovládacího prvku.