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-Process
geç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-Process
geç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-Member
yazı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-Process
yazı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
Bir işlem nesnesini bu cmdlet'e yöneltebilirsiniz.
Çıkışlar
None
Varsayılan olarak, bu cmdlet çıkış döndürmez.
PassThru parametresini kullandığınızda, bu cmdlet durdurulan işlemi temsil eden bir İşlem nesnesi döndürür.
Notlar
PowerShell, Stop-Process
iç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.