Aracılığıyla paylaş


Stop-Process

Bir veya daha fazla çalışan işlemi durdurur.

Sözdizimi

Stop-Process
    [-Id] <Int32[]>
    [-PassThru]
    [-Force]
    [-WhatIf]
    [-Confirm]
    [<CommonParameters>]
Stop-Process
    -Name <String[]>
    [-PassThru]
    [-Force]
    [-WhatIf]
    [-Confirm]
    [<CommonParameters>]
Stop-Process
    [-InputObject] <Process[]>
    [-PassThru]
    [-Force]
    [-WhatIf]
    [-Confirm]
    [<CommonParameters>]

Description

Stop-Process cmdlet'i bir veya daha fazla çalışan işlemi durdurur. İşlem adına veya işlem kimliğine (PID) göre bir işlem belirtebilir veya bir işlem nesnesini Stop-Processgeçirebilirsiniz. Stop-Process yalnızca yerel bilgisayarda çalışan işlemlerde çalışır.

Windows Vista ve Windows işletim sisteminin sonraki sürümlerinde, geçerli kullanıcıya ait olmayan bir işlemi durdurmak için PowerShell'i Yönetici olarak çalıştır seçeneğini kullanarak başlatmanız gerekir. Ayrıca, onayla parametresini belirtmediğiniz sürece onaylamanız istenmez.

Örnekler

Örnek 1: İşlemin tüm örneklerini durdurma

Stop-Process -Name "notepad"

Bu komut, bilgisayardaki Not Defteri işleminin tüm örneklerini durdurur. Not Defteri'nin her örneği kendi işleminde çalışır. tümü aynı ada sahip olan işlemleri belirtmek için Name parametresini kullanır. Aynı işlemleri durdurmak için Kimliği parametresini kullanırsanız, Not Defteri'nin her örneğinin işlem kimliklerini listelemeniz gerekir.

Örnek 2: İşlemin belirli bir örneğini durdurma

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

Bu komut, Not Defteri işleminin belirli bir örneğini durdurur. İşlemi tanımlamak için 3952 işlem kimliğini kullanır. Confirm parametresi, Işlemi durdurmadan önce PowerShell'i sizden istemeye yönlendirir. İstem, kimliğine ek olarak işlem adını da içerdiğinden, bu en iyi yöntemdir. PassThru parametresi, işlem nesnesini görüntüleme için biçimlendiriciye geçirir. Bu parametre olmadan, bir Stop-Process komutu sonrasında görüntülenmez.

Örnek 3: Bir işlemi durdurma ve durdurulduğunu algılama

calc
$p = Get-Process -Name "calc"
Stop-Process -InputObject $p
Get-Process | Where-Object {$_.HasExited}

Bu komut dizisi, Calc işlemini başlatır ve durdurur ve ardından durdurulan işlemleri algılar.

İlk komut hesap makinesinin bir örneğini başlatır.

İkinci komut Get-Process kullanır, Calc işlemini temsil eden bir nesne alır ve $p değişkeninde depolar.

Üçüncü komut Calc işlemini durdurur. nesnesini Stop-Processgeçirmek için InputObject parametresini kullanır.

Son komut, çalışmakta olan ancak artık durdurulan bilgisayardaki tüm işlemleri alır. Bilgisayardaki tüm işlemleri almak için Get-Process kullanır. İşlem hattı işleci (|), sonuçları Where-Object cmdlet'ine geçirir ve HasExited özelliğinin değerinin $True olanları seçer. HasExited, işlem nesnelerinin yalnızca bir özelliğidir. Tüm özellikleri bulmak için Get-Process | Get-Memberyazın.

Örnek 4: Geçerli kullanıcıya ait olmayan bir işlemi durdurma

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

Bu komutlar, kullanıcıya ait olmayan bir işlemi durdurmak için Zorla kullanmanın etkisini gösterir.

İlk komut, Lsass işlemini almak için Get-Process kullanır. İşlem hattı işleci, işlemi durdurmak için Stop-Process gönderir. Örnek çıktıda gösterildiği gibi, ilk komut erişim reddedildi iletisiyle başarısız olur, çünkü bu işlem yalnızca bilgisayardaki Yönetici grubunun bir üyesi tarafından durdurulabilir.

PowerShell yönetici olarak çalıştır seçeneği kullanılarak açıldığında ve komut yinelendiğinde PowerShell sizden onay ister.

İkinci komut, istemini gizlemeye zorla seçeneğini belirtir. Sonuç olarak, işlem onay olmadan durdurulur.

Parametreler

-Confirm

Cmdlet'i çalıştırmadan önce sizden onay ister.

Tür:SwitchParameter
Diğer adlar:cf
Position:Named
Default value:False
Gerekli:False
İşlem hattı girişini kabul et:False
Joker karakterleri kabul et:False

-Force

Onay istemeden belirtilen işlemleri durdurur. Varsayılan olarak, Stop-Process geçerli kullanıcıya ait olmayan işlemleri durdurmadan önce onay ister.

bir işlemin sahibini bulmak için, işlemi temsil eden bir Win32_Process nesnesi almak için Get-CimInstance cmdlet'ini kullanın ve sonra nesnenin GetOwner yöntemini kullanın.

Tür:SwitchParameter
Position:Named
Default value:None
Gerekli:False
İşlem hattı girişini kabul et:False
Joker karakterleri kabul et:False

-Id

Durdurulacak işlemlerin işlem kimliklerini belirtir. Birden çok kimlik belirtmek için, kimlikleri ayırmak için virgül kullanın. Bir işlemin PID'sini bulmak için Get-Processyazın.

Tür:Int32[]
Position:0
Default value:None
Gerekli:True
İşlem hattı girişini kabul et:True
Joker karakterleri kabul et:False

-InputObject

Durdurulacak işlem nesnelerini belirtir. Nesneleri içeren bir değişken girin veya nesneleri alan bir komut veya ifade yazın.

Tür:Process[]
Position:0
Default value:None
Gerekli:True
İşlem hattı girişini kabul et:True
Joker karakterleri kabul et:False

-Name

Durdurulacak işlemlerin işlem adlarını belirtir. Virgülle ayırarak birden çok işlem adı yazabilir veya joker karakterler kullanabilirsiniz.

Tür:String[]
Diğer adlar:ProcessName
Position:Named
Default value:None
Gerekli:True
İşlem hattı girişini kabul et:True
Joker karakterleri kabul et:True

-PassThru

İşlemi temsil eden bir nesne döndürür. Varsayılan olarak, bu cmdlet herhangi bir çıkış oluşturmaz.

Tür:SwitchParameter
Position:Named
Default value:None
Gerekli:False
İşlem hattı girişini kabul et:False
Joker karakterleri kabul et:False

-WhatIf

Cmdlet çalıştırılırsa ne olacağını gösterir. Cmdlet çalıştırılmaz.

Tür:SwitchParameter
Diğer adlar:wi
Position:Named
Default value:False
Gerekli:False
İşlem hattı girişini kabul et:False
Joker karakterleri kabul et:False

Girişler

Process

Bir işlem nesnesini bu cmdlet'e yöneltebilirsiniz.

Çıkışlar

None

Varsayılan olarak, bu cmdlet çıkış döndürmez.

Process

PassThru parametresini kullandığınızda, bu cmdlet durdurulan işlemi temsil eden bir İşlem nesnesi döndürür.

Notlar

PowerShell, Stop-Processiçin aşağıdaki diğer adları içerir:

  • Tüm platformlar:
    • spps
  • Windows:
    • kill

Windows PowerShell'de Windows Yönetim Araçları (WMI) Win32_Process nesnesinin özelliklerini ve yöntemlerini de kullanabilirsiniz. Daha fazla bilgi için bkz. Get-CimInstance ve WMI SDK'sı.

  • İşlemleri durdururken, bir işlemi durdurmanın işleme ve işleme bağlı hizmetleri durdurabileceğini unutmayın. Aşırı bir durumda, bir işlemin durdurulması Windows'u durdurabilir.