Mam 3 wystąpienia aplikacji uruchomionych z różnych miejsc. Wszystkie procesy mają podobne nazwy.Proces zabicia według nazwy pliku
Jak mogę zabić proces, który został uruchomiony z określonego miejsca?
Mam 3 wystąpienia aplikacji uruchomionych z różnych miejsc. Wszystkie procesy mają podobne nazwy.Proces zabicia według nazwy pliku
Jak mogę zabić proces, który został uruchomiony z określonego miejsca?
można uzyskać ścieżkę aplikacji:
Get-Process | Where-Object {$_.Path -like "*something*"} | Stop-Process -WhatIf
który będzie działał tylko na lokalnym komputerze. Aby zakończyć proces zdalnych:
Get-WmiObject Win32_Process -Filter "ExecutablePath LIKE '%something%'" -ComputerName server1 | Invoke-WmiMethod -Name Terminate
Możesz rzucić okiem na właściwość MainModule
wewnątrz klasy Process
(która może być wywołana za pomocą powłoki powershell).
foreach (Process process in Process.GetProcesses())
{
if (process.MainModule.FileName == location)
{
process.Kill();
}
}
Rozważę również możliwe wyjątki, które mogą wystąpić podczas wywoływania tego kodu. Może się tak zdarzyć, jeśli próbujesz uzyskać dostęp do procesów, które nie są już obecne (zabite od czasu ostatniego wywołania GetProcess) lub procesów, dopóki nie masz uprawnień.
Spróbuj tego: http://technet.microsoft.com/en-us/library/ee177004.aspx
Stop-Process -processname notepad
chciałbym nieco poprawić odpowiedź Shay Levy, ponieważ nie działa dobrze działa na moim konfiguracji (wersja 4 PowerShell)
Get-Process | Where-Object {$_.Path -like "*something*"} | Stop-Process -processname {$_.ProcessName}
Poniższe polecenie zabija procesy, w których "coś" jest częścią ścieżki lub jest parametrem wiersza poleceń. Dowodzi to również przydatne dla skryptów PowerShell zakończenia takich jak powershell -command c:\my-place\something.ps1
działa something.ps1
z miejsca c:\my-place
:
gwmi win32_process | Where-Object {$_.CommandLine -like "*something*"} | % { "$(Stop-Process $_.ProcessID)" }
Rozwiązanie działa lokalnie na moim 64bit systemu Windows 10 maszyny.
Pierwsze rozwiązanie zadziałało, ale bez parametru - Co to jest – rpeshkov
-Jak to był tylko przełącznik bezpieczeństwa :) –
fyi jeśli dopasujesz wszystkie procesy do '-like" * "' i wykonasz polecenie, to powoduje awarię twojego systemu –