Tasklist pokazuje proces, ale taskkill nie jest w stanie go zabić, nawet jako administrator

22

Próbuję zabić chrome na moim komputerze. Uruchomiłem wiersz polecenia jako administrator i uruchomiłem:

C:\WINDOWS\system32>tasklist /FI "IMAGENAME eq chrome.exe"

Zwrócił jeden przedmiot:

Image Name                     PID Session Name        Session#    Mem Usage
========================= ======== ================ =========== ============
chrome.exe                    8336 Console                    2    420,324 K

Jednak nie mogłem go zabić za pomocą / IM:

C:\WINDOWS\system32>taskkill /IM "chrome.exe" /F

Ponieważ wrócił:

ERROR: The process "chrome.exe" with PID 8336 could not be terminated.
Reason: There is no running instance of the task.

Więc próbowałem go zabić za pomocą / PID:

C:\WINDOWS\system32>taskkill /PID 8336 /F

Co zwróciło coś podobnego:

ERROR: The process with PID 8336 could not be terminated.
Reason: There is no running instance of the task.

Próba zabicia go za pomocą menedżera zadań również nie działa. Jak zabić Chrome bez ponownego uruchamiania komputera?

Jon
źródło
AFAIK chrome ma zawsze kilka procesów, czy ten problem utrzymuje się po ponownym uruchomieniu komputera? Możesz spróbowaćpowershell.exe "Get-Process chrome | Stop-Process"
LotPings
@LotPings Udało mi się zabić wszystkie inne procesy chrome za pomocą menedżera zadań, ale ten utknął.
Jon
3
Spróbuj: wmic process where name="chrome.exe" call terminatez poziomu wiersza polecenia administratora z podwyższonym poziomem uprawnień, a następnie zgłoś wyniki.
Pimp Juice IT
4
Próbowałem tego z chromeprocesem, który zawiesił się po uruchomieniu przez VS Code - nawet po zamknięciu Code proces nie umrze. Gdy wywołam terminate, wraca { ReturnValue = 2; };i proces jest kontynuowany nieprzerwanie.
Coderer

Odpowiedzi:

15

Miałem podobny problem z wieloma wystąpieniami pliku conhost.exe, którego nie mogłem zakończyć przy pomocy taskkill, nawet podając dokładny pid. Zawsze otrzymywałem ten sam błąd, mówiąc, że nie ma żadnych instancji zadania.

Więc zrobiłem to, co zasugerował Pimp Juice IT w powyższym komentarzu, używając następującego polecenia, które z powodzeniem zabiło wszystkie conhost.exe na raz.

wmic process where name="conhost.exe" call terminate
bazem
źródło
5
Miałem ten sam problem z vmware-vmx.exe i ta metoda też nie działała. Zwrócona wartość to 2. Próbowałem także „usunąć” zamiast „zakończenie połączenia”, ale powiedział „odmowa dostępu”.
kol
2
To nie działa dla mnie.
Anbuselvan Rocky
3

Nie jestem pewien, jakie są rzeczywiste konsekwencje mojej metody w systemie, ale za każdym razem, gdy muszę zabić proces, dostaję powiadomienie o odmowie dostępu. Klikam proces prawym przyciskiem myszy, przechodzę do właściwości, karty bezpieczeństwa, karty Zaawansowane, karty Właściciel i zmieniam właściciela z TrustedInstaller na konto, z którego chcę go zabić. Nie spotkałem niczego, na czym jeszcze nie działało.

Matt
źródło
2
To podejście nie działało dla mnie w przypadku zatrzymywania vmware-vmx.exe. Zmieniłem właściciela na mojego użytkownika (bieżącego użytkownika, który jest administratorem), dałem mu pełną kontrolę, ale ani „taskkill / F ...”, ani „wmic ... terminate” nie działały (z podwyższonego cmd ). Zatrzymałem wszystkie usługi vmware, ale to też nie pomogło.
kol
wybranie właściwości z menu kontekstowego wydaje się być po prostu właściwościami pliku lub folderu, a nie jakimś rodzajem właściwości procesu. zmieniasz listę ACL NTFS w samym pliku .exe, przechodząc do karty zabezpieczeń.
Dave Cousineau,
0

Jeśli proces został uruchomiony z programu Visual Studio, możliwe jest, że debuger się zawiesił, ale VS nadal w jakiś sposób jest przywiązany do procesu, uniemożliwiając jego zabicie. Wyłączenie programu Visual Studio spowoduje także zamknięcie nieuczciwego procesu, w tym przypadku.

Elezar
źródło