Wait-Process
Před přijetím dalšího vstupu počká na zastavení procesů.
Syntaxe
Name (Výchozí)
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
Tato rutina nefunguje v Linuxu 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
-Any
Pokud se do Wait-Processpředá více procesů, rutina před návratem čeká na ukončení všech procesů. Pomocí tohoto parametru se rutina vrátí, když se některý z procesů ukončí. Zbývající procesy se budou dál spouštět.
Tento parametr byl přidán v PowerShellu 7.4.
Vlastnosti parametru
| Typ: | SwitchParameter |
| Default value: | None |
| Podporuje zástupné znaky: | False |
| DontShow: | False |
Sady parametrů
(All)
| Position: | Named |
| Povinné: | False |
| Hodnota z kanálu: | False |
| Hodnota z kanálu podle názvu vlastnosti: | False |
| Hodnota ze zbývajících argumentů: | False |
-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 |
-PassThru
Ve výchozím nastavení tato rutina nic nevypíše. Pomocí tohoto parametru rutina vrátí objekty představující procesy, na které byly čekat.
Tento parametr byl přidán v PowerShellu 7.4.
Vlastnosti parametru
| Typ: | SwitchParameter |
| Default value: | None |
| Podporuje zástupné znaky: | False |
| DontShow: | False |
Sady parametrů
(All)
| Position: | Named |
| Povinné: | False |
| Hodnota z kanálu: | False |
| Hodnota z kanálu podle názvu vlastnosti: | False |
| 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
Ve výchozím nastavení tato rutina nevrací žádný výstup.
Process
Rutina vrátí objekty procesu při použití parametru PassThru.
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.