Kiedy uruchamiam eksperymentalną instancję VS z VS w celu debugowania i zatrzymuję debugowanie (czasami bezpośrednio z nadrzędnego VS), proces zombile devenv.exe pozostaje uruchomiony, którego nie mogę zabić. Zachowuje wiele moich bibliotek dll.
Ponieważ jestem zalogowany na tej 64-bitowej maszynie Win7 jako Administrator, spodziewałbym się, że będę mógł zabić każdy proces, który zechcę.
I tried (from Administrator command prompt):
End Task from Task Manager.
TASKKILL /F /IM devenv.exe
PSKILL devenv.exe
Brak powrotu błędów i TASKKILL
oraz PSKILL
zwróconych wiadomości sukces kończącym / zabicie procesu. Ale devenv.exe nadal działa, nie jest ponownie uruchamiany, ponieważ PID
pozostaje stały. Znika dopiero po ponownym uruchomieniu systemu, co nie jest dobrym rozwiązaniem.
Uwaga. LockHunter pokazuje, że devenv sam się zamknął. I nie może go odblokować.
Powyższy zrzut ekranu jest wyjściem z Process Monitor pokazującym devenv jako coś w rodzaju pętli `` Process Profiling '' (kliknij prawym przyciskiem myszy i kliknij otwórz obraz w nowej karcie, aby zobaczyć go poprawnie).
Jakieś pomysły, jak zabić taki proces w systemie Windows?
Odpowiedzi:
musisz też zabić proces potomny, jeśli któryś z nich powstał, aby pomyślnie zabić proces
źródło
There is no running instance of the task
Ten proces naprawdę nie chce umierać!/T
przełącznik!Metody taskkill i powershell (kill) nie działały dla mnie; nadal było napisane „Odmowa dostępu”.
Miałem więcej szczęścia z tym:
źródło
ERROR: Description = Access denied
(przy okazji przy użyciu konsoli administracyjnej)Po prostu miałem ten sam problem w systemie Windows Server 2008 R2 i nic nie pomogło, ani menedżer zadań, ani zadanie. Ale Windows PowerShell działa, gdy administrator pracował z „kill -id pid”
źródło
Reboot to jedyne rozwiązanie, które działało dla mnie (do tej pory).
Zawsze doskonały Mark Russonovich ma dobre wyjaśnienie niemożliwych do zabicia procesów.
Podsumowując, jest całkiem możliwe, że jest to spowodowane nieprzetworzonymi żądaniami we / wy, które nie zostały prawidłowo obsłużone (przez sterownik urządzenia, do którego prawdopodobnie uzyskał dostęp twój program)
http://blogs.technet.com/b/markrussinovich/archive/2005/08/17/unkillable-processes.aspx
źródło
Wiem, że jest późno, ale
taskkill /im devenv.exe /t /f
powinno działać./t
zabija procesy potomne też.źródło
/IM devenv.exe
używać/PID 17888
wówczas błąd w zasadzie powiedzieć, że 17.888 jest dzieckiem 17880 i 17880 nie jest uruchomiony, a więc nie może być zabity.W moim przypadku po kilku dniach walki z tym problemem (dotyczyło to procesów VirtualBox i µTorrent) odkryłem, że jest to spowodowane problemem ze sterownikiem sieciowym, wywołanym poprawką KB4338818 Windows Update (Windows 7 x64). Po odinstalowaniu tej poprawki wszystko wróciło do normy. Pomyślałem, że to może być przydatne dla innych.
źródło
Mogłem rozwiązać ten problem, zabijając program explorer.exe, który z kolei był uzależniony od procesu, który chciałem zabić. Myślę, że może się to również zdarzyć, jeśli procesy otwierają interfejsy za pośrednictwem haka, który może być zablokowany.
źródło
taskkill /IM "process_name" /T /F
część odpowiedzi brzmiała:(child process of PID xxxx)
więc sprawdziłem ten PID i był to explorer.exe, ponowne uruchomienie rozwiązało mój problem.Widziałem to kilka razy i moim jedynym rozwiązaniem było ponowne uruchomienie.
Możesz spróbować użyć programu PowerShell: Get-Process devenv | zabić
Ale jeśli inne metody zawiodły, to prawdopodobnie również. :-(
źródło
Natywny
tskill <pid>
(lubtskill.exe <pid>
) działał dla mnie w systemie Windows 10, gdzie nie działała żadna inna natywna odpowiedź.W moim przypadku miałem kilka procesów chrome.exe, dla których działało `` End Task '' menedżera zadań, ale ani
taskkill /F /T /PID <pid>
niekill -id <pid>
działało, ani PowerShell (nawet gdy obie powłoki działają jako administrator).Jest to bardzo dziwne, ponieważ
taskkill
rzekomo jest lepszą wersją api-i-robi-więcejtskill
.W moim przypadku, aby zabić wszystkie wystąpienia pewnego zadania, którego użyłem
FOR /F "usebackq tokens=2 skip=2" %i IN (`TASKLIST /FI "IMAGENAME eq name_of_task.exe"`) DO tskill %i
źródło
End Process failed for 10576:Access is denied.
Mam zamiar coś zasugerować, ponieważ ostatnio stanąłem przed tym samym problemem i próbowałem każdej możliwej rzeczy w odpowiedziach, ale nic nie działało. Otrzymywałem błędy takie jak
za pomocą wiersza poleceń. Powłoka mocy też nie była pomocna. po prostu wykonałby polecenia i nie odpowiedziałby, a proces nadal działał.
Dopóki nie zdecydowałem się usunąć skojarzonego z nim pliku „.exe”. Ponieważ plik był aktywny, system Windows nie pozwalał na jego usunięcie, ale w tym oknie ostrzegawczym podał mi nazwę procesu, który wstrzymywał zadanie, które chciałem zabić. Udało mi się zabić oryginalne zadanie, a tym samym błędny proces.
Zdecydowanie warto spróbować, jeśli żadne z rozwiązań się nie sprawdzi.
źródło
Otrzymałem następujące wyniki z
taskkill
To, co działało dla mnie, to sysinternal
pskill
Możesz pobrać
pskill
z aktualnej strony sysinternalźródło
Unable to kill process 10576: Access is denied.
Niektóre pliki exe zależą od niektórych usług,
Musisz więc znaleźć odpowiednią usługę i najpierw się zatrzymać.
źródło
Ten sam problem przytrafił mi się w VirtualBox w odniesieniu do procesów Javy.
W moim przypadku było to spowodowane błędem w łatce Windows Update KB4338818 (Windows 7 x64).
Rozwiązałem to, wykonując następujące czynności:
źródło
U mnie działa jako administrator:
1. szukaj
cmd
w systemie Windows2. kliknij prawym przyciskiem myszy
cmd
opcję „Uruchom jako administrator”3.
netstat -ano | findstr :8080
4.
taskkill/pid (your number) /F
źródło
Dla mnie sposób, w jaki to zadziałało, polega na tym, że muszę zabić proces rodzica. Wymyśl proces rodzica i zabij go
źródło
Mam problem z debugowanymi procesami z gdb w Code :: Blocks. Gdy tylko zawiesza się podczas przypadkowego wchodzenia w instrukcje spoza zakresu twoich źródeł (jako biblioteki bez źródeł lub funkcji systemowych), nie możesz zakończyć debugowania ani z Code :: Blocks, ani z Task-Managera.
Myślę, że to błąd w implementacji gdb w Code :: Blocks, ale mógłby też być w gdb;)
Moje rozwiązanie:
taskkill /F /IM process.exe /T
Pokazuje PID procesu macierzystego. Teraz zabij rodzica:
taskkill /PID yyyy
Obie odeszły.
Gotowe.
źródło
services.exe
zabicie rodzica, może to spowodować BSODjeśli
taskkill /F /T /PID <pid>
nie działa. Spróbuj otworzyć terminal urRun as Administrator
.Wyszukaj
cmd
w menu Twojego okna i kliknij prawym przyciskiem myszyRun as Administrator
, a następnie ponownie uruchom polecenie. To zadziałało dla mnie.źródło
Jeśli pobierzesz darmowy pakiet sysinternals, będzie on zawierał aplikację pskill.exe, która działa dobrze w przypadku tego typu zadań: pskill.exe "nazwa_procesu" Działa na tych procesach nawet bez użycia opcji -t.
źródło
Wykonałem następujące czynności na podwyższonej powłoce PowerShell:
polecenie Wyjście:
Parametry wyjściowe:
Mam trochę informacji o składni na: https://community.spiceworks.com/topic/871561-wmic-error-like-invalid-alias-verb
źródło
NirCmd firmy NirSoft wykonał za mnie pracę:
Strona podręcznika killprocess jest tutaj .
źródło
Napotkałem ten sam problem, w którym uruchomiłem aplikację węzła na porcie 3000 i nie została ona poprawnie zamknięta, a proces działał nawet po ponownym uruchomieniu.
Żadne z poleceń taskkill ani PowerShell działających w trybie administratora nie działało dla mnie.
Użyłem MS Process Expoler> Właściwości> Obraz> Bieżący katalog (który miał być katalogiem mojego projektu).
Wreszcie musiałem zrestartować komputer w SafeMode, zmienić nazwę folderu projektu i ponownie uruchomić. Procesy węzła, które zużywały port 3000, zabijały się.
źródło
Miałem dokładnie ten sam problem, znalazłem tę poprawkę w innej witrynie: powershell.exe "Get-Process processname | Stop-Process" zadziałało dla mnie i byłem na tej samej łodzi, na której musiałem ponownie uruchomić, / T nie działał .
źródło
Jak wspomniał Franciszek, z powodu niektórych procesów nie można zakończyć
Z mojego doświadczenia wynika, że miałem do czynienia z błędnym sterownikiem graficznym , który powodował awarię mojej gry i nie mógł jej zamknąć, ponieważ w ostateczności wyłączyłem sterownik graficzny i proces ostatecznie zniknął.
Jeśli Twoja aplikacja czeka na zasób ze sterownika, taki jak Wi-Fi lub grafika, spróbuj wyłączyć je w menedżerze urządzeń , musisz trochę zagłębić się, aby zobaczyć, gdzie się zawiesiły.
Nie jest to oczywiście zalecane, ale czasami nie masz już nic do stracenia.
źródło
Miałem ten sam problem i jak wielu innych tutaj powiedziało, żadne z normalnych poleceń zabijania nie działało. Mój plik powodujący problem był plikiem wykonywalnym uruchamianym z udziału sieciowego przez użytkownika na serwerze usług pulpitu zdalnego. W przypadku wielu współdzielonych użytkowników ponowne uruchomienie w ciągu dnia nie jest łatwe. Nawet gdy użytkownik wylogował się, exe nadal był wymieniony w Menedżerze zadań. Wysłałem na serwer, na którym folder był udostępniony, i z Zarządzanie komputerem -> Sesje znalazły użytkownika z otwartą sesją z tego serwera RDP, mimo że był wylogowany. Kliknij prawym przyciskiem myszy -> Zamknij sesję i blokada plików została zwolniona.
Nie wiem, dlaczego nie mogłem zakończyć zadania. Komunikat o błędzie, który początkowo otrzymywałem podczas próby usunięcia pliku, brzmiał: „Nie można ukończyć akcji, ponieważ plik jest otwarty w systemie”
Mam nadzieję, że to pomoże komuś innemu.
źródło
W moim przypadku żadne z rozwiązań tutaj nie zadziałało. W końcu stwierdziłem, że program, o którym mowa, zawiesił się podczas próby sondowania interfejsów audio USB. Odłączyłem więc DAC USB, który podłączyłem i ku mojemu zdziwieniu aplikacja natychmiast zamknęła się. Odpowiedź Francisa wspomina, że może to być wynikiem „nieprzetworzonych żądań we / wy, które nie zostały prawidłowo obsłużone (przez sterownik urządzenia, do którego prawdopodobnie uzyskał dostęp twój program)”, co może wyjaśniać, dlaczego to naprawiło.
Przypuszczam, że to naprawdę zależy od tego, co program robił, gdy zawiesił się, ale jeśli żadne z innych rozwiązań nie działa, spróbuj odłączyć wszystkie urządzenia USB, aby sprawdzić, czy jedno z nich może być przyczyną.
źródło
Uruchom CMD, ponieważ administrator naprawi problem
źródło
źródło