Stop-Process
Egy vagy több futó folyamat leállítása.
Syntax
Id (Alapértelmezett)
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
A Stop-Process parancsmag leállítja egy vagy több futó folyamatot. Megadhat egy folyamatot folyamatnév vagy folyamatazonosító (PID) alapján, vagy átadhat egy folyamatobjektumot Stop-Process.
Stop-Process csak a helyi számítógépen futó folyamatokon működik.
A Windows Vista és a Windows operációs rendszer újabb verzióiban a Nem az aktuális felhasználó tulajdonában lévő folyamat leállításához a PowerShellt a Futtatás rendszergazdaként lehetőséggel kell elindítania. Emellett a rendszer csak akkor kéri a megerősítést, ha megadja a Confirm paramétert.
Példák
1. példa: Folyamat összes példányának leállítása
Stop-Process -Name "notepad"
Ez a parancs leállítja a jegyzettömb folyamatának összes példányát a számítógépen. A Jegyzettömb minden példánya a saját folyamatában fut. A Name paramétert használja a folyamatok megadásához, amelyek mindegyike ugyanazzal a névvel rendelkezik. Ha a Azonosító paramétert használná ugyanazon folyamatok leállításához, a Jegyzettömb egyes példányainak folyamatazonosítóit kell listáznia.
2. példa: Folyamat adott példányának leállítása
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
Ez a parancs leállítja a Jegyzettömb folyamat egy adott példányát. A folyamat azonosításához a 3952-ben megadott folyamatazonosítót használja. A Confirm paraméter a PowerShellt a folyamat leállítása előtt kéri. Mivel a parancssor az azonosító mellett a folyamat nevét is tartalmazza, ez az ajánlott eljárás.
A PassThru paraméter átadja a folyamatobjektumot a megjelenítendő formázónak. E paraméter nélkül nem jelenik meg egy Stop-Process parancs.
3. példa: Folyamat leállítása és annak észlelése
calc
$p = Get-Process -Name "calc"
Stop-Process -InputObject $p
Get-Process | Where-Object {$_.HasExited}
Ez a parancssorozat elindítja és leállítja a Calc folyamatot, majd észleli a leállított folyamatokat.
Az első parancs elindítja a számológép egy példányát.
A második parancs Get-Process lekéri a Calc folyamatot jelképező objektumot, majd a $p változóban tárolja.
A harmadik parancs leállítja a Calc folyamatot. Az InputObject paraméter használatával adja át az objektumot Stop-Process.
Az utolsó parancs lekéri a számítógépen futó, de most leállított összes folyamatot.
Get-Process használ az összes folyamat lekéréséhez a számítógépen. A folyamatkezelő (|) átadja az eredményeket a Where-Object parancsmagnak, amely kiválasztja azokat, amelyekben a HasExited tulajdonság értéke $true.
HasExited csak egy tulajdonsága a folyamatobjektumoknak. Az összes tulajdonság megkereséséhez írja be a Get-Process | Get-Member.
4. példa: Az aktuális felhasználó által nem birtokolt folyamat leállítása
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
Ezek a parancsok azt mutatják, hogy a Kényszerítse a nem a felhasználó tulajdonában lévő folyamat leállítására.
Az első parancs Get-Process használ az Lsass-folyamat lekéréséhez. A folyamatüzemeltető elküldi a folyamatot a Stop-Process, hogy leállítsák. Ahogy a mintakimenetben látható, az első parancs egy Hozzáférés megtagadva üzenettel meghiúsul, mivel ezt a folyamatot csak a rendszergazdai csoport egy tagja állíthatja le a számítógépen.
Ha a PowerShellt a Futtatás rendszergazdaként lehetőséggel nyitja meg, és a parancs ismétlődik, a PowerShell megerősítést kér.
A második parancs kényszeríti a a kérés letiltására. Ennek eredményeképpen a folyamat megerősítés nélkül leáll.
Paraméterek
-Confirm
Megerősítést kér a parancsmag futtatása előtt.
Paramétertulajdonságok
| Típus: | SwitchParameter |
| Alapértelmezett érték: | False |
| Támogatja a helyettesítő karaktereket: | False |
| DontShow: | False |
| Aliasok: | Cf |
Paraméterkészletek
(All)
| Position: | Named |
| Kötelező: | False |
| Folyamatból származó érték: | False |
| Folyamatból származó érték tulajdonságnév alapján: | False |
| Fennmaradó argumentumokból származó érték: | False |
-Force
A megadott folyamatokat anélkül állítja le, hogy megerősítést kér. Alapértelmezés szerint Stop-Process megerősítést kér, mielőtt leállítja az aktuális felhasználó tulajdonában nem lévő folyamatokat.
A folyamat tulajdonosának megkereséséhez használja a Get-CimInstance parancsmagot a folyamatnak megfelelő Win32_Process objektum lekéréséhez, majd használja az objektum GetOwner metódusát.
Paramétertulajdonságok
| Típus: | SwitchParameter |
| Alapértelmezett érték: | None |
| Támogatja a helyettesítő karaktereket: | False |
| DontShow: | False |
Paraméterkészletek
(All)
| Position: | Named |
| Kötelező: | False |
| Folyamatból származó érték: | False |
| Folyamatból származó érték tulajdonságnév alapján: | False |
| Fennmaradó argumentumokból származó érték: | False |
-Id
Megadja a leállítani kívánt folyamatok folyamatazonosítóit. Több azonosító megadásához használjon vesszőket az azonosítók elválasztásához. A folyamat PID-jének megkereséséhez írja be a Get-Process.
Paramétertulajdonságok
| Típus: | Int32[] |
| Alapértelmezett érték: | None |
| Támogatja a helyettesítő karaktereket: | False |
| DontShow: | False |
Paraméterkészletek
Id
| Position: | 0 |
| Kötelező: | True |
| Folyamatból származó érték: | False |
| Folyamatból származó érték tulajdonságnév alapján: | True |
| Fennmaradó argumentumokból származó érték: | False |
-InputObject
Megadja a leállítandó folyamatobjektumokat. Adjon meg egy változót, amely tartalmazza az objektumokat, vagy írjon be egy parancsot vagy kifejezést, amely lekéri az objektumokat.
Paramétertulajdonságok
| Típus: | Process[] |
| Alapértelmezett érték: | None |
| Támogatja a helyettesítő karaktereket: | False |
| DontShow: | False |
Paraméterkészletek
InputObject
| Position: | 0 |
| Kötelező: | True |
| Folyamatból származó érték: | True |
| Folyamatból származó érték tulajdonságnév alapján: | False |
| Fennmaradó argumentumokból származó érték: | False |
-Name
A leállítandó folyamatok folyamatneveit adja meg. Több folyamatnevet is beírhat vesszővel elválasztva, vagy használhat helyettesítő karaktereket.
Paramétertulajdonságok
| Típus: | String[] |
| Alapértelmezett érték: | None |
| Támogatja a helyettesítő karaktereket: | True |
| DontShow: | False |
| Aliasok: | ProcessName |
Paraméterkészletek
Name
| Position: | Named |
| Kötelező: | True |
| Folyamatból származó érték: | False |
| Folyamatból származó érték tulajdonságnév alapján: | True |
| Fennmaradó argumentumokból származó érték: | False |
-PassThru
A folyamatot jelképező objektumot ad vissza. Ez a parancsmag alapértelmezés szerint nem hoz létre kimenetet.
Paramétertulajdonságok
| Típus: | SwitchParameter |
| Alapértelmezett érték: | None |
| Támogatja a helyettesítő karaktereket: | False |
| DontShow: | False |
Paraméterkészletek
(All)
| Position: | Named |
| Kötelező: | False |
| Folyamatból származó érték: | False |
| Folyamatból származó érték tulajdonságnév alapján: | False |
| Fennmaradó argumentumokból származó érték: | False |
-WhatIf
Megjeleníti, mi történne, ha a parancsmag futna. A parancsmag nem fut.
Paramétertulajdonságok
| Típus: | SwitchParameter |
| Alapértelmezett érték: | False |
| Támogatja a helyettesítő karaktereket: | False |
| DontShow: | False |
| Aliasok: | Wi |
Paraméterkészletek
(All)
| Position: | Named |
| Kötelező: | False |
| Folyamatból származó érték: | False |
| Folyamatból származó érték tulajdonságnév alapján: | False |
| Fennmaradó argumentumokból származó érték: | False |
CommonParameters
Ez a parancsmag a következő gyakori paramétereket támogatja: -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutBuffer, -OutVariable, -PipelineVariable, -ProgressAction, -Verbose, -WarningAction és -WarningVariable. További információért lásd about_CommonParameters.
Bevitelek
Process
A parancsmaghoz folyamatobjektumot is csövezhet.
Kimenetek
None
Ez a parancsmag alapértelmezés szerint nem ad vissza kimenetet.
Process
A PassThru paraméter használatakor ez a parancsmag egy Folyamat objektumot ad vissza, amely a leállított folyamatot jelöli.
Jegyzetek
A PowerShell a következő aliasokat tartalmazza Stop-Process:
- Minden platform:
spps
- Windows:
kill
A Windows Management Instrumentation (WMI) Win32_Process objektum tulajdonságait és módszereit a Windows PowerShellben is használhatja. További információ: Get-CimInstance és a WMI SDK.
- A folyamatok leállításakor felismerheti, hogy a folyamatok leállítása leállítja a folyamatot és a folyamattól függő szolgáltatásokat. Szélsőséges esetben a folyamat leállítása leállítja a Windowst.