Megosztás a következőn keresztül:


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 Folyamat leállítása 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 Folyamat leállítása. Folyamat leállítása 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

PS C:\> 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

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

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ón kívül a folyamatnevet 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 a Stop-Process parancs.

3. példa: Folyamat leállítása és annak észlelése

PS C:\> calc
PS C:\> $p = Get-Process -Name "calc"
PS C:\> Stop-Process -InputObject $p
PS C:\> 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. A Get-Process használatával szerzi be az összes folyamatot 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 C:\> 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 C:\> 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 C:\> Get-Process -Name "lsass" | Stop-Process -Force
[ADMIN]: PS C:\>

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álatával lekéri az Lsass-folyamatot. A folyamatüzemeltető elküldi a folyamatot a folyamat leállításához leállítási. 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 folyamat leállítása 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-WmiObject 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, System.Diagnostics.Process

Ez a parancsmag egy System.Diagnostics.Process objektumot ad vissza, amely a leállított folyamatot jelöli, ha megadja a PassThru paramétert. Ellenkező esetben ez a parancsmag nem hoz létre kimenetet.

Jegyzetek

  • A stop-process is hivatkozhat a beépített aliasok, a kill és spps. További információ: about_Aliases.

    A Windows Management Instrumentation (WMI) Win32_Process objektum tulajdonságait és módszereit a Windows PowerShellben is használhatja. További információ: Get-WmiObject é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.