Stop-Process (Microsoft.PowerShell.Management)
Stop-Process
- Modül:
- Microsoft.PowerShell.Management
Çalışan bir veya daha fazla 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>]Tanım
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'e iletebilirsiniz. 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 Yönetici olarak çalıştır seçeneğini kullanarak PowerShell'i başlatmanız gerekir. Ayrıca Onayla parametresini belirtmediğiniz sürece sizden onay istenmez.
Örnekler
Örnek 1: Bir işlemin tüm örneklerini durdurma
PS C:\> Stop-Process -Name "notepad"Bu komut, bilgisayardaki Not Defteri işleminin tüm örneklerini durdurur. Notepad'in her örneği kendi sürecinde çalışır. Tamamı aynı ada sahip olan işlemleri belirtmek için Ad parametresini kullanır. Aynı işlemleri durdurmak için Id parametresini kullanacak olsaydınız, her Not Defteri örneğinin işlem kimliklerini listelemeniz gerekirdi.
Örnek 2: Bir iş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 notepadBu komut, Not Defteri işleminin belirli bir örneğini durdurur. İşlemi tanımlamak için 3952 işlem kimliğini kullanır. Onayla parametresi, PowerShell'i işlemi durdurmadan önce sizi uyarmaya yönlendirir. Bilgi istemi, kimliğinin yanı sıra işlem adını da içerdiğinden, bu en iyi uygulamadır. PassThru parametresi, işlem nesnesini görüntülenmek üzere biçimlendiriciye iletir. Bu parametre olmasaydı, İşlemi Durdur komutundan sonra görüntü oluşmazdı.
Örnek 3: Bir işlemi durdurun ve durduğunu tespit edin
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, ardından duran işlemleri algılar.
İlk komut hesap makinesinin bir örneğini başlatır.
İkinci komut Get-Process'i kullanır, Calc işlemini temsil eden bir nesne alır ve ardından onu $p değişkeninde saklar.
Üçüncü komut Calc işlemini durdurur. Nesneyi Stop-Process'e iletmek için InputObject parametresini kullanır.
Son komut, bilgisayardaki çalışmakta olan ancak şu anda durdurulmuş olan tüm işlemleri alır. Bilgisayardaki tüm işlemleri almak için Get-Process'i kullanır. İşlem hattı operatörü (|), sonuçları HasExited özelliğinin değerinin $olduğu durumları seçen Where-Object cmdlet'ine iletir. Doğru. HasExited, süreç nesnelerinin yalnızca bir özelliğidir. Tüm özellikleri bulmak için Get-Process | Üye Ol.
Ö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 Get-Process'i kullanır. Bir ardışık düzen operatörü, işlemi durdurmak için Stop-Process'e gönderir. Örnek çıktıda gösterildiği gibi, bu işlem yalnızca bilgisayardaki Yönetici grubunun bir üyesi tarafından durdurulabildiğinden, ilk komut Erişim reddedildi iletisiyle başarısız olur.
PowerShell Yönetici olarak çalıştır seçeneği kullanılarak açıldığında ve komut tekrarlandığında PowerShell sizden onay ister.
İkinci komut, istemi bastırmak için Zorla seçeneğini belirtir. Sonuç olarak işlem onaylanmadan durdurulur.
Parametreler
-Confirm
Cmdlet'i çalıştırmadan önce sizden onay ister.
- Tip :
-
SwitchParameter
- Takma adlar:
cf
- Konum:
Adlandırılmış
- Varsayılan değer:
False
- Gerekli:
False
- Boru hattı girişini kabul edin:
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 herhangi bir işlemi durdurmadan önce onay ister.
Bir işlemin sahibini bulmak için Get-CimInstance cmdlet'ini kullanarak işlemi temsil eden bir Win32_Process nesnesi alın ve ardından GetOwner'u kullanın. nesnenin yöntemi.
- Tip :
SwitchParameter
- Konum:
-
Adlandırılmış
- Varsayılan değer:
None
- Gerekli:
False
- Boru hattı girişini kabul edin:
False
- Joker karakterleri kabul et:
False
-Id
Durdurulacak işlemlerin işlem kimliklerini belirtir. Birden fazla kimlik belirtmek için kimlikleri ayırmak amacıyla virgül kullanın. Bir işlemin PID'sini bulmak için Get-Process yazın.
- Tip :
Int32[]
- Konum:
0
- Varsayılan değer:
None
- Gerekli:
True
- Boru hattı girişini kabul edin:
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.
- Tip :
İşlem[]
- Konum:
0
- Varsayılan değer:
None
- Gerekli:
True
- Boru hattı girişini kabul edin:
True
- Joker karakterleri kabul et:
False
-Name
Durdurulacak işlemlerin işlem adlarını belirtir. Birden çok işlem adını virgülle ayırarak yazabilir veya joker karakterler kullanabilirsiniz.
- Tip :
String[]
- Takma adlar:
ProcessName
- Konum:
Adlandırılmış
- Varsayılan değer:
None
- Gerekli:
True
- Boru hattı girişini kabul edin:
True
- Joker karakterleri kabul et:
True
-PassThru
Süreci temsil eden bir nesne döndürür. Varsayılan olarak bu cmdlet herhangi bir çıktı oluşturmaz.
- Tip :
SwitchParameter
- Konum:
Adlandırılmış
- Varsayılan değer:
None
- Gerekli:
False
- Boru hattı girişini kabul edin:
False
- Joker karakterleri kabul et:
False
-WhatIf
Cmdlet çalıştırılırsa ne olacağını gösterir. Cmdlet çalıştırılmıyor.
- Tip :
SwitchParameter
- Takma adlar:
wi
- Konum:
Adlandırılmış
- Varsayılan değer:
False
- Gerekli:
False
- Boru hattı girişini kabul edin:
False
- Joker karakterleri kabul et:
False
Girişler
Süreç
Bir işlem nesnesini bu cmdlet'e aktarabilirsiniz.
Çıkışlar
Yok
Varsayılan olarak bu cmdlet hiçbir çıktı döndürmez.
Süreç
PassThru parametresini kullandığınızda bu cmdlet, durdurulan işlemi temsil eden bir Process nesnesi döndürür.
Notlar
PowerShell, Stop-Process için aşağıdaki takma adları içerir:
Tüm platformlar:
spps
Windows:
killWindows PowerShell'deki Windows Yönetim Araçları (WMI) Win32_Process nesnesinin özelliklerini ve yöntemlerini de kullanabilirsiniz. Daha fazla bilgi için Get-CimInstance'a ve WMI SDK'ya bakın.
- Süreçleri durdururken, bir süreci durdurmanın süreci ve sürece bağlı hizmetleri durdurabileceğini unutmayın. Olağanüstü bir durumda, bir işlemi durdurmak Windows'u durdurabilir.