Stop-Process
Bir veya daha fazla çalışan işlemi durdurur.
Syntax
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
Cmdlet bir Stop-Process
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 öğesine 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 Confirm parametresini belirtmediğiniz sürece sizden onay istenmez.
Örnekler
Örnek 1: İşlemin tüm örneklerini durdurma
PS C:\> Stop-Process -Name "notepad"
Bu komut, bilgisayardaki Not Defteri işleminin tüm örneklerini durdurur. Not Defteri her örneği kendi işleminde çalışır. İşlemleri belirtmek için Name parametresini kullanır ve bunların tümü aynı ada sahiptir. Aynı işlemleri durdurmak için Id parametresini kullanırsanız, Not Defteri her örneğinin işlem kimliklerini listelemeniz gerekir.
Örnek 2: İşlemin belirli bir örneğini durdurma
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
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
komut sonrasında görüntü 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 işlemi başlatır ve durdurur Calc
ve ardından durdurulan işlemleri algılar.
İlk komut hesap makinesinin bir örneğini başlatır.
İkinci komut kullanır Get-Process
, işlemi temsil Calc
eden bir nesne alır ve bunu değişkende $p
depolar.
Üçüncü komut işlemi durdurur Calc
. nesnesini Stop-Process
öğesine 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 kullanır Get-Process
. İşlem hattı işleci (|
), sonuçları, HasExited özelliğinin Where-Object
değerinin $True olanları seçen cmdlet'ine geçirir. HasExited , işlem nesnelerinin yalnızca bir özelliğidir. Tüm özellikleri bulmak için yazın Get-Process | Get-Member
.
Ö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
[ADMIN]: PS>
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 kullanır Get-Process
. İşlem hattı işleci, işlemi durdurmak için adresine 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 istrator 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, İstemi gizlemeye zorla seçeneğini belirtir. Sonuç olarak, işlem onay olmadan durdurulur.
Parametreler
-Confirm
Cmdlet'i çalıştırmadan önce sizden onay ister.
Type: | SwitchParameter |
Aliases: | cf |
Position: | Named |
Default value: | False |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Force
Onay istemeden belirtilen işlemleri durdurur. Varsayılan olarak, Stop-Process
geçerli kullanıcıya ait olmayan herhangi bir işlemi durdurmadan önce onay ister.
İşlemin sahibini bulmak için cmdlet'ini Get-CimInstance
kullanarak işlemi temsil eden bir Win32_Process nesnesi alın ve ardından nesnenin GetOwner yöntemini kullanın.
Type: | SwitchParameter |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | 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 yazın Get-Process
.
Type: | Int32[] |
Position: | 0 |
Default value: | None |
Required: | True |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-InputObject
Durdurulacak işlem nesnelerini belirtir. Nesneleri içeren bir değişken girin veya nesneleri alan bir komut veya ifade yazın.
Type: | Process[] |
Position: | 0 |
Default value: | None |
Required: | True |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-Name
Durdurulacak işlemlerin işlem adlarını belirtir. Virgülle ayırarak birden çok işlem adı yazabilir veya joker karakterler kullanabilirsiniz.
Type: | String[] |
Aliases: | ProcessName |
Position: | Named |
Default value: | None |
Required: | True |
Accept pipeline input: | True |
Accept wildcard characters: | True |
-PassThru
İşlemi temsil eden bir nesne döndürür. Varsayılan olarak, bu cmdlet herhangi bir çıkış oluşturmaz.
Type: | SwitchParameter |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-WhatIf
Cmdlet çalıştırılıyorsa ne olacağını gösterir. Cmdlet çalıştırılmaz.
Type: | SwitchParameter |
Aliases: | wi |
Position: | Named |
Default value: | False |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | 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 için aşağıdaki diğer adları Stop-Process
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.
İlişkili Bağlantılar
PowerShell
Geri Bildirim
https://aka.ms/ContentUserFeedback.
Çok yakında: 2024 boyunca, içerik için geri bildirim mekanizması olarak GitHub Sorunları’nı kullanımdan kaldıracak ve yeni bir geri bildirim sistemiyle değiştireceğiz. Daha fazla bilgi için bkz.Gönderin ve geri bildirimi görüntüleyin