Taskkill /f doodt geen proces

Als ik een experimentele instantie van VS opstart vanuit VS voor foutopsporing en stop met foutopsporing (soms rechtstreeks vanuit de bovenliggende VS), blijft er een zombile devenv.exe-proces actief dat ik niet kan uitschakelen. Het houdt vast aan veel van mijn dll’s.

Omdat ik als beheerder op deze 64-bits Win7-machine ben ingelogd, zou ik verwachten dat ik elk proces dat ik wil kan stoppen.

I tried (from Administrator command prompt):
End Task from Task Manager.
TASKKILL /F /IM devenv.exe
PSKILL devenv.exe

Geen retourneert een fout en TASKKILLen pskillretourneerden succesberichten van het beëindigen/beëindigen van het proces. Maar devenv.exe wordt nog steeds uitgevoerd, het wordt niet opnieuw gegenereerd omdat de PIDconstant blijft. Het verdwijnt alleen bij het opnieuw opstarten van het systeem, wat geen geweldige oplossing is.

Opmerking. LockHunter laat zien dat devenv een slot op zichzelf heeft. En het kan het niet ontgrendelen.

De bovenstaande schermafbeelding is de uitvoer van Process Monitor die laat zien dat devenv zich in een soort ‘Procesprofilering’-lus bevindt (klik er met de rechtermuisknop op en klik op afbeelding openen in een nieuw tabblad om het goed te zien).

Enig idee hoe je zo’n proces op Windows kunt stoppen?


Antwoord 1, autoriteit 100%

je moet ook het onderliggende proces doden als er een is voortgebracht om je proces succesvol te beëindigen

taskkill /IM "process_name" /T /F
/T = kills child process
/F = forceful termination of your process

Antwoord 2, autoriteit 55%

De taskkill en powershell (kill) methoden werkten niet voor mij; er stond nog steeds “Toegang geweigerd”.

Ik had hier meer geluk mee:

wmic process where "name='myprocessname.exe'" delete

Antwoord 3, autoriteit 39%

Net hetzelfde probleem gehad op Windows Server 2008 R2 en niets hielp, niet taskmanager of taskkill. Maar, windows powershell uitgevoerd als beheerder werkte met “kill -id pid”


Antwoord 4, autoriteit 38%

Opnieuw opstarten is de enige oplossing die voor mij werkte (tot nu toe).

De altijd uitmuntende Mark Russonovich heeft een goede verklaring voor onuitvoerbare processen.

Om samen te vatten, het is heel goed mogelijk dat het te wijten is aan onverwerkte I/O-verzoeken die niet correct zijn afgehandeld (door een apparaatstuurprogramma dat mogelijk toegang heeft gekregen tot uw programma)

https://techcommunity.microsoft .com/t5/windows-blog-archive/unkillable-processes/ba-p/723389


Antwoord 5, autoriteit 13%

Ik weet dat het laat is, maar taskkill /im devenv.exe /t /fzou moeten werken. de /tdoodt ook onderliggende processen.


Antwoord 6, autoriteit 9%

In mijn geval ontdekte ik, na een aantal dagen vechten met dit probleem (het gebeurde met VirtualBox- en µTorrent-processen), dat het werd veroorzaakt door een probleem met het netwerkstuurprogramma, veroorzaakt door de Windows Update-patch KB4338818(Windows 7 x64). Na het verwijderen van die patch was alles weer normaal. Ik dacht gewoon dat het nuttig zou kunnen zijn voor anderen.


Antwoord 7, autoriteit 7%

Ik zou mijn probleem kunnen oplossen door dit probleem op te lossen door explorer.exe te doden, die op zijn beurt verslaafd was aan het proces dat ik wilde doden. Ik denk dat dit ook kan gebeuren als processen worden geopend via een hook die mogelijk vergrendeld is.


Antwoord 8, autoriteit 6%

Ik heb dit een paar keer gezien en mijn enige oplossing was opnieuw opstarten.

Je zou kunnen proberen om PowerShell te gebruiken:
Get-Proces devenv | doden

Maar als de andere methoden mislukten, zal dit waarschijnlijk ook. 🙁


Antwoord 9, Autoriteit 6%

Native tskill <pid>(OF tskill.exe <pid>) Werkte voor mij op Windows 10, waar geen ander native antwoord deed.

In mijn geval had ik wat chrome.exe-processen waarvoor de ‘eindtaak’ van Task Manager werkte, maar noch taskkill /F /T /PID <pid>NO POWERSHELL’S kill -id <pid>WERKEN (zelfs met beide schelpen die als beheerder zijn).

Dit is erg vreemd als taskkillwordt beweerd om een ​​beter-api-en-do-meerversie van tskillte zijn.

In mijn geval om alle exemplaren van een bepaalde taak te doden die ik gebruikte FOR /F "usebackq tokens=2 skip=2" %i IN (`TASKLIST /FI "IMAGENAME eq name_of_task.exe"`) DO tskill %i


Antwoord 10, Autoriteit 5%

Ik ga hier iets voorstellen omdat ik onlangs dezelfde kwestie heb geconfronteerd en ik probeerde elk mogelijk ding in de antwoorden, maar niets werkte. Ik kreeg fouten zoals

FOUT: het proces met PID 23908 kon niet worden beëindigd.
Reden: er is geen gebruik van de taak.

Gebruik opdrachtprompt. Power Shell was ook niet nuttig. Het zou eenvoudig de opdrachten en geen reactie met het proces uitvoeren.

totdat ik besloot om het bijbehorende ‘.exe’-bestand te verwijderen. Omdat het bestand actief was, zou Windows de verwijdering niet toestaan, maar in dat waarschuwingsvenster gaf het me de naam van het proces dat de taak ophield die ik wilde doden.
Ik was in staat om de oorspronkelijke taak en dus het buggy-proces te doden.

Het is zeker de moeite waard als geen van de oplossingen werkt.


Antwoord 11, Autoriteit 3%

Ik kreeg de volgende resultaten met taskkill

>taskkill /im "MyApp.exe" /t /f
ERROR: The process with PID 32040 (child process of PID 54176) could not be terminated.
Reason: There is no running instance of the task.
>taskkill /pid 54176  /t /f
ERROR: The process "54176" not found.

Wat voor mij werkte, was sysinternal’spskill

>pskill.exe -t 32040
PsKill v1.15 - Terminates processes on local or remote systems
Copyright (C) 1999-2012  Mark Russinovich
Sysinternals - www.sysinternals.com
Process 32040 killed.

Je kunt pskillkrijgen van de live site van sysinternal


Antwoord 12, autoriteit 2%

Sommige Exe-bestanden zijn afhankelijk van sommige services,

Dus je moet de betreffende service vinden en eerst stoppen.


Antwoord 13, autoriteit 2%

Hetzelfde probleem overkwam mij in VirtualBox met betrekking tot Java-processen.

In mijn geval was het te wijten aan een bug in Windows Update-patch KB4338818 (Windows 7 x64).

Ik heb het opgelost door het volgende te doen:

  • Verwijder Windows Update-patch KB4338818
  • Installeer Windows Update-patch KB4338821

Antwoord 14, autoriteit 2%

Uitvoeren als beheerder werkt voor mij:

1.zoek cmdin vensters

2.klik met de rechtermuisknop op cmdselecteer als “Als administrator uitvoeren”

3.netstat -ano | findstr :8080

4.taskkill/pid (your number) /F


Antwoord 15, autoriteit 2%

Voor mij is de manier waarop het werkte, dat ik het bovenliggende proces moest beëindigen. Zoek het bovenliggende proces uit en stop het

taskkill /IM "parent_process_name.exe" /T /F

Antwoord 16, autoriteit 2%

Als taskkill /F /T /PID <pid>niet werkt.
Probeer uw terminal verhoogd te openen met Run as Administrator.

Zoek cmdin uw Windows-menu en klik met de rechtermuisknop op Run as Administrator,
voer de opdracht vervolgens opnieuw uit. Dit werkte voor mij.


Antwoord 17

Ik heb het probleem met gedebugde processen met gdb in Code::Blocks.
Zodra het blijft hangen terwijl het per ongeluk in instructies stapt die buiten het bereik van je bronnen vallen (zoals bibliotheken zonder bronnen of systeemfuncties), kun je het debuggen niet stoppen, noch vanuit Code::Blocks, noch vanuit Taakbeheer.

Ik denk dat het een fout is in de implementatie van gdb in Code::Blocks, maar het kan ook in gdb zitten 😉

Mijn oplossing:

taskkill /F /IM process.exe /T

Dit toont de PID van het bovenliggende proces. Dood nu de ouder:

taskkill /PID yyyy

Beide zijn weg.

Gereed.


Antwoord 18

NirSoft’s NirCmddeed het werk voor mij:

nircmd killprocess "process name.exe"

killprocess man-pagina is hier.


Antwoord 19

Ik had exact hetzelfde probleem, vond deze oplossing op een andere site:
powershell.exe “Get-Process processname| Stop-Process”
het werkte voor mij en ik zat in hetzelfde schuitje waar ik moest herstarten, de /T zou niet werken.


Antwoord 20

Als u de gratis sysinternals-suite downloadt, heeft deze een pskill.exe-toepassing die goed werkt voor dit soort taken: pskill.exe “process_name”
Het werkt op deze processen, zelfs zonder de optie -t te gebruiken.


Antwoord 21

Ik heb het volgende gedaan, op een verhoogde powershell:

PS C:\Windows\system32> wmic.exe /interactive:off process where "name like `'java%'`" call terminate

opdrachtuitvoer:

Executing (\\SRV\ROOT\CIMV2:Win32_Process.Handle="3064")->terminate()
Method execution successful.

Uit-parameters:

instance of __PARAMETERS
{ReturnValue = 0; };

Ik heb syntaxisinformatie gekregen over: https: //community.spiceworks.com/topic/871561-wmic-error-like-invalid-alias-verb


Antwoord 22

Zoals Francisal zei, kan een proces niet worden beëindigd vanwege

“onverwerkte I/O-verzoeken”

In mijn ervaring had ik te maken met een grafisch stuurprogrammamet fouten waardoor mijn spel crashte en het niet kon sluiten, als laatste redmiddel uitgeschakeldhet grafische stuurprogramma en het proces is uiteindelijk verdwenen.

Als uw applicatie wacht op een bronvan stuurprogrammazoals wifi of grafische afbeeldingen, probeer deze dan uit te schakelenin apparaatbeheer, je moet een beetje diep graven om te zien waar ze zijn opgehangen.

Dit is natuurlijk niet aan te raden, maar soms heb je niets meer te verliezen.


Antwoord 23

Ik had hetzelfde probleem en zoals vele anderen hier hebben gezegd, werkte geen van de normale Kill-commando’s. Mijn probleembestand was een uitvoerbaar bestand dat werd uitgevoerd vanaf een netwerkshare door een gebruiker op een Remote Desktop Server. Met meerdere gedeelde gebruikers is het niet eenvoudig om tijdens een werkdag opnieuw op te starten. Zelfs toen de gebruiker zich afmeldde, stond de exe nog steeds vermeld in Taakbeheer. Ik stuurde naar de server waar de map werd gedeeld en vanuit Computerbeheer -> Sessions vond de gebruiker met de sessie nog steeds open vanaf die RDP-server, ook al was hij uitgelogd. Klik met de rechtermuisknop -> Sluit Sessie en de bestandsvergrendeling is opgeheven.

Verslaat me waarom ik de taak niet kon beëindigen. De foutmelding die ik oorspronkelijk kreeg toen ik het bestand probeerde te verwijderen was “De actie kan niet worden voltooid omdat het bestand is geopend in Systeem”

Hopelijk helpt dit iemand anders.


Antwoord 24

In mijn geval werkte geen van de oplossingen hier. Uiteindelijk ontdekte ik dat het programma in kwestie was vastgelopen toen ik USB-audio-interfaces probeerde te pollen. Dus ik ontkoppelde een USB DAC die ik had aangesloten, en tot mijn verbazing stopte de applicatie onmiddellijk. Het antwoord van Francis vermeldt dat dit het gevolg kan zijn van “onverwerkte I/O-verzoeken die niet correct zijn afgehandeld (door een apparaatstuurprogramma dat mogelijk toegang heeft gehad tot uw programma)”, wat zou kunnen verklaren waarom dit het probleem heeft verholpen.

Ik veronderstel dat het echt afhangt van wat het programma aan het doen was toen het vastliep, maar als geen van de andere oplossingen werkt, probeer dan alle USB-apparaten los te koppelen om te zien of een daarvan de oorzaak kan zijn.


Antwoord 25

Ik had hetzelfde probleem waarbij ik een node-app startte in poort 3000 en deze niet correct sloot en het proces bleef doorgaan, zelfs na opnieuw opstarten.

Geen van de taskkill- of powershell-opdrachten die in de beheerdersmodus werden uitgevoerd, werkte voor mij.

Ik gebruikte MS Process Expoler > Eigenschappen > Afbeelding > Huidige directory (die de mijn projectdirectory moest zijn).

Uiteindelijk moest ik opnieuw opstarten in SafeMode en de projectmap hernoemen en opnieuw opstarten. De Node-processen die poort 3000 in beslag namen, hebben zichzelf gedood.


Antwoord 26

Voer CMD uit als beheerder om het probleem op te lossen


Antwoord 27

  1. taakbeheer openen
  2. tabblad services selecteren
  3. selecteer het proces (devenv.exe) dat u wilt uitschakelen en klik op de knop Services
  4. rechts op het proces, selecteer eigenschappen en schakel het uit…

Other episodes