Stop-Process
Zastaví jeden nebo více spuštěných procesů.
Syntax
Id (Výchozí)
Stop-Process
[-Id] <Int32[]>
[-PassThru]
[-Force]
[-WhatIf]
[-Confirm]
[<CommonParameters>]
Name
Stop-Process
-Name <String[]>
[-PassThru]
[-Force]
[-WhatIf]
[-Confirm]
[<CommonParameters>]
InputObject
Stop-Process
[-InputObject] <Process[]>
[-PassThru]
[-Force]
[-WhatIf]
[-Confirm]
[<CommonParameters>]
Description
Rutina Stop-Process zastaví jeden nebo více spuštěných procesů. Proces můžete zadat podle názvu procesu nebo ID procesu (PID) nebo předat objekt procesu Stop-Process.
Stop-Process funguje jenom na procesech spuštěných v místním počítači.
V systému Windows Vista a novějších verzích operačního systému Windows je nutné zastavit proces, který není vlastníkem aktuálního uživatele, spuštěním PowerShellu pomocí možnosti Spustit jako správce. Kromě toho se nezobrazí výzva k potvrzení, pokud nezadáte parametr Confirm.
Příklady
Příklad 1: Zastavení všech instancí procesu
PS C:\> Stop-Process -Name "notepad"
Tento příkaz zastaví všechny instance procesu Poznámkového bloku v počítači. Každá instance Poznámkového bloku běží ve vlastním procesu. Pomocí parametru Name určuje procesy, z nichž všechny mají stejný název. Pokud byste k zastavení stejných procesů použili parametr ID, museli byste uvést ID procesů jednotlivých instancí Poznámkového bloku.
Příklad 2: Zastavení konkrétní instance procesu
PS C:\> Stop-Process -Id 3952 -Confirm -PassThru
Confirm
Are you sure you want to perform this action?
Performing operation "Stop-Process" on Target "notepad (3952)".
[Y] Yes [A] Yes to All [N] No [L] No to All [S] Suspend [?] Help
(default is "Y"):y
Handles NPM(K) PM(K) WS(K) VM(M) CPU(s) Id ProcessName
------- ------ ----- ----- ----- ------ -- -----------
41 2 996 3212 31 3952 notepad
Tento příkaz zastaví konkrétní instanci procesu Poznámkového bloku. K identifikaci procesu používá ID procesu 3952. Parametr Potvrdit vás před zastavením procesu vyzve PowerShell k zobrazení výzvy. Vzhledem k tomu, že výzva obsahuje název procesu kromě ID, je to osvědčený postup.
Parametr PassThru předá objekt procesu do formátovače pro zobrazení. Bez tohoto parametru by se po příkazu Stop-Process nezobrazovat.
Příklad 3: Zastavení procesu a zjištění, že se zastavil
calc
$p = Get-Process -Name "calc"
Stop-Process -InputObject $p
Get-Process | Where-Object {$_.HasExited}
Tato série příkazů se spustí a zastaví proces Calc a pak detekuje procesy, které se zastavily.
První příkaz spustí instanci kalkulačky.
Druhý příkaz používá Get-Process získá objekt představující proces Calc a uloží ho do proměnné $p.
Třetí příkaz zastaví proces Calc. Používá InputObject parametr předat objekt Stop-Process.
Poslední příkaz získá všechny procesy v počítači, které byly spuštěny, ale které jsou nyní zastaveny. Používá Get-Process k získání všech procesů v počítači. Operátor kanálu (|) předá výsledky rutině Where-Object, která vybere ty, ve kterých je hodnota vlastnosti HasExited $True.
HasExited je pouze jednou vlastností procesních objektů. Chcete-li najít všechny vlastnosti, zadejte Get-Process | Get-Member.
Příklad 4: Zastavení procesu, který nepatří aktuálnímu uživateli
PS> Get-Process -Name "lsass" | Stop-Process
Stop-Process : Cannot stop process 'lsass (596)' because of the following error: Access is denied
At line:1 char:34
+ Get-Process -Name "lsass" | Stop-Process <<<<
[ADMIN]: PS> Get-Process -Name "lsass" | Stop-Process
Warning!
Are you sure you want to perform this action?
Performing operation 'Stop-Process' on Target 'lsass(596)'
[Y] Yes [A] Yes to All [N] No [L] No to All [S] Suspend [?] Help (default is "Y"):
[ADMIN]: PS> Get-Process -Name "lsass" | Stop-Process -Force
[ADMIN]: PS>
Tyto příkazy ukazují účinek použití Vynucení k zastavení procesu, který není vlastníkem uživatele.
První příkaz používá k získání procesu Lsass Get-Process. Operátor kanálu odešle proces, který Stop-Process zastavit. Jak je znázorněno v ukázkovém výstupu, první příkaz selže se zprávou o odepření přístupu, protože tento proces může být zastaven pouze členem skupiny Správce v počítači.
Když se PowerShell otevře pomocí možnosti Spustit jako správce a příkaz se opakuje, PowerShell vás vyzve k potvrzení.
Druhý příkaz určuje, vynutit potlačit výzvu. V důsledku toho se proces zastaví bez potvrzení.
Parametry
-Confirm
Před spuštěním cmdletu vás vyzve k potvrzení.
Vlastnosti parametru
| Typ: | SwitchParameter |
| Default value: | False |
| Podporuje zástupné znaky: | False |
| DontShow: | False |
| Aliasy: | viz |
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 |
-Force
Zastaví zadané procesy bez výzvy k potvrzení. Ve výchozím nastavení Stop-Process před zastavením jakéhokoli procesu, který není vlastníkem aktuálního uživatele, výzva k potvrzení.
Pokud chcete najít vlastníka procesu, použijte rutinu Get-CimInstance k získání objektu Win32_Process, který představuje proces, a pak použijte metodu GetOwner objektu.
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ů, které se mají zastavit. 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 |
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 objekty procesu, které se mají zastavit. Zadejte proměnnou, která obsahuje objekty, nebo zadejte příkaz nebo výraz, který objekty získá.
Vlastnosti parametru
| Typ: | Process[] |
| Default value: | None |
| Podporuje zástupné znaky: | False |
| DontShow: | False |
Sady parametrů
InputObject
| Position: | 0 |
| 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ů, které se mají zastavit. Můžete zadat více názvů procesů oddělených čárkami nebo použít zástupné znaky.
Vlastnosti parametru
| Typ: | String[] |
| Default value: | None |
| Podporuje zástupné znaky: | True |
| DontShow: | False |
| Aliasy: | ProcessName |
Sady parametrů
Name
| Position: | Named |
| 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
Vrátí objekt, který představuje proces. Ve výchozím nastavení tato rutina negeneruje žádný výstup.
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 |
-WhatIf
Ukazuje, co se stane, když se příkaz spustí. Příkazový modul nebyl spuštěn.
Vlastnosti parametru
| Typ: | SwitchParameter |
| Default value: | False |
| Podporuje zástupné znaky: | False |
| DontShow: | False |
| Aliasy: | Wi |
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 |
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, System.Diagnostics.Process
Tato rutina vrátí objekt
Poznámky
Můžete také odkazovat pomocí
Stop-Processjeho vestavěných aliasůkillasppsDalší informace naleznete v části about_Aliases.Ve Windows PowerShellu můžete také použít vlastnosti a metody Win32_Process objektu WMI (Windows Management Instrumentation). Další informace najdete v tématu
Get-CimInstancea sada WMI SDK.Při zastavování procesů si uvědomte, že zastavení procesu může zastavit proces a služby, které závisí na procesu. V extrémním případě může zastavení procesu zastavit Systém Windows.