Wenn ich eine experimentelle VS-Instanz von VS zum Debuggen starte und das Debuggen beende (manchmal direkt vom übergeordneten VS), wird weiterhin ein zombiler Prozess devenv.exe ausgeführt, den ich nicht beenden kann. Es hält an vielen meiner DLLs fest.
Da ich als Administrator auf diesem 64-Bit-Win7-Computer angemeldet bin, würde ich erwarten, dass ich jeden gewünschten Prozess beenden kann.
I tried (from Administrator command prompt):
End Task from Task Manager.
TASKKILL /F /IM devenv.exe
PSKILL devenv.exe
Keine Rückkehr eines Fehlers und TASKKILL
und PSKILL
zurückErfolgsMeldungen des Beendens / Tötung des Prozesses. Aber devenv.exe läuft immer noch, es wird nicht erneut erzeugt, da das PID
konstant bleibt. Es verschwindet nur beim Neustart des Systems, was keine gute Lösung ist.
Hinweis. LockHunter zeigt, dass devenv ein Schloss für sich hat. Und es kann es nicht entsperren.
Der obige Screenshot ist die Ausgabe von Process Monitor und zeigt, dass sich devenv in einer Art 'Process Profiling'-Schleife befindet (Klicken Sie mit der rechten Maustaste darauf und klicken Sie auf Bild öffnen in neuem Tab, um es richtig anzuzeigen).
Irgendwelche Ideen, wie man einen solchen Prozess unter Windows beendet?
Antworten:
Sie müssen auch den untergeordneten Prozess beenden, wenn einer erzeugt wurde, um Ihren Prozess erfolgreich zu beenden
quelle
There is no running instance of the task
Dieser Prozess will wirklich nicht sterben!/T
Schalter!Die Taskkill- und Powershell-Methoden (Kill-Methoden) haben bei mir nicht funktioniert. es stand immer noch "Zugriff verweigert".
Ich hatte besseres Glück damit:
quelle
ERROR: Description = Access denied
(Übrigens mit der Admin-Konsole)Hatte gerade das gleiche Problem unter Windows Server 2008 R2 und nichts half, nicht Taskmanager oder Taskkill. Windows Powershell wurde jedoch ausgeführt, als der Administrator mit "kill -id pid" arbeitete.
quelle
Neustart ist die einzige Lösung, die (bisher) für mich funktioniert hat.
Der immer ausgezeichnete Mark Russonovich hat eine gute Erklärung für nicht abtötbare Prozesse.
Zusammenfassend ist es durchaus möglich, dass nicht verarbeitete E / A-Anforderungen nicht ordnungsgemäß verarbeitet wurden (von einem Gerätetreiber, auf den Ihr Programm möglicherweise zugegriffen hat).
http://blogs.technet.com/b/markrussinovich/archive/2005/08/17/unkillable-processes.aspx
quelle
Ich weiß, es ist spät,
taskkill /im devenv.exe /t /f
sollte aber funktionieren. Das/t
tötet auch Kinderprozesse.quelle
/IM devenv.exe
ich verwendet,/PID 17888
dann sagte der Fehler im Grunde, dass 17888 ein Kind von 17880 ist und 17880 nicht läuft und daher nicht getötet werden kann.In meinem Fall stellte ich nach mehreren Tagen des Kampfes mit diesem Problem (es geschah mit VirtualBox- und µTorrent-Prozessen) fest, dass es durch ein Netzwerktreiberproblem verursacht wurde, das durch den Windows Update-Patch KB4338818 (Windows 7 x64) hervorgerufen wurde. Nach der Deinstallation dieses Patches wurde alles wieder normal. Ich dachte nur, es könnte für andere nützlich sein.
quelle
Ich konnte mein Problem lösen, indem ich explorer.exe tötete, was wiederum süchtig nach dem Prozess war, den ich töten wollte. Ich denke, dies kann auch passieren, wenn Prozesse Schnittstellen über einen Hook öffnen, der möglicherweise gesperrt ist.
quelle
taskkill /IM "process_name" /T /F
Teil der Antwort machte, war:(child process of PID xxxx)
Also habe ich diese PID überprüft und es war explorer.exe, ein Neustart hat mein Problem gelöst.Ich habe das ein paar Mal gesehen und meine einzige Lösung war ein Neustart.
Sie können versuchen, PowerShell: Get-Process devenv | zu verwenden töten
Aber wenn die anderen Methoden fehlgeschlagen sind, wird dies wahrscheinlich auch so sein. :-(
quelle
Einheimisch
tskill <pid>
(odertskill.exe <pid>
) arbeitete für mich unter Windows 10, wo keine andere native Antwort dies tat.In meinem Fall hatte ich einige chrome.exe-Prozesse, für die die 'End Task' des Task-Managers funktionierte, aber weder
taskkill /F /T /PID <pid>
noch die von Powershellkill -id <pid>
funktionierten (selbst wenn beide Shells als Administrator ausgeführt wurden).Dies ist sehr seltsam, da
taskkill
angeblich eine bessere API-and-Do-More-Version von isttskill
.In meinem Fall, um alle Instanzen einer bestimmten Aufgabe zu töten, die ich verwendet habe
FOR /F "usebackq tokens=2 skip=2" %i IN (`TASKLIST /FI "IMAGENAME eq name_of_task.exe"`) DO tskill %i
quelle
End Process failed for 10576:Access is denied.
Ich werde hier etwas vorschlagen, weil ich kürzlich mit dem gleichen Problem konfrontiert war und alles Mögliche in den Antworten ausprobiert habe, aber nichts hat funktioniert. Ich bekam Fehler wie
Verwenden der Eingabeaufforderung. Power Shell war auch nicht hilfreich. Es würde einfach die Befehle ausführen und keine Antwort geben, während der Prozess noch läuft.
Bis ich mich entschied, die zugehörige '.exe'-Datei zu löschen. Da die Datei aktiv war, erlaubte Windows das Löschen nicht, aber in diesem Warnfenster gab es mir den Namen des Prozesses, der die Aufgabe aufhielt, die ich beenden wollte. Ich konnte die ursprüngliche Aufgabe und damit den Buggy-Prozess beenden.
Es ist definitiv einen Versuch wert, wenn keine der Lösungen funktioniert.
quelle
Ich habe die folgenden Ergebnisse mit erhalten
taskkill
Was für mich funktionierte, war sysinternal
pskill
Sie können
pskill
von der Live-Site des Sysinternal erhaltenquelle
Unable to kill process 10576: Access is denied.
Einige der Exe-Dateien Abhängig von einigen Diensten,
Sie müssen also den entsprechenden Service finden und zuerst anhalten.
quelle
Das gleiche Problem ist mir in VirtualBox in Bezug auf Java-Prozesse passiert.
In meinem Fall lag es an einem Fehler im Windows Update-Patch KB4338818 (Windows 7 x64).
Ich habe es folgendermaßen gelöst:
quelle
Als Administrator zu arbeiten funktioniert für mich:
1.Suchen Sie
cmd
in Windows2. Klicken Sie mit der rechten Maustaste auf
cmd
"Als Administrator ausführen ".3.
netstat -ano | findstr :8080
4.
taskkill/pid (your number) /F
quelle
Für mich hat es so funktioniert, dass ich den übergeordneten Prozess beenden muss. Finde den übergeordneten Prozess heraus und töte ihn
quelle
Ich habe das Problem mit debuggten Prozessen mit gdb in Code :: Blocks. Sobald es hängt, während Sie versehentlich in Anweisungen außerhalb des Bereichs Ihrer Quellen eintreten (als Bibliotheken ohne Quellen oder Systemfunktionen), können Sie das Debuggen weder über Code :: Blocks noch über Task-Manager beenden.
Ich denke, es ist ein Fehler in der Implementierung von gdb in Code :: Blocks, könnte aber auch in gdb sein;)
Meine Lösung:
taskkill /F /IM process.exe /T
Dies zeigt die PID des übergeordneten Prozesses. Töte jetzt die Eltern:
taskkill /PID yyyy
Beide sind weg.
Getan.
quelle
services.exe
Beenden des übergeordneten Elements durchführt, kann dies zu BSODwenn
taskkill /F /T /PID <pid>
nicht funktioniert. Versuchen Sie, Ihr Terminal durch zu öffnenRun as Administrator
.Suchen Sie
cmd
in Ihrem Windows-Menü, klicken Sie mit der rechten MaustasteRun as Administrator
und führen Sie den Befehl erneut aus. Das hat bei mir funktioniert.quelle
Wenn Sie die kostenlose sysinternals-Suite herunterladen, verfügt sie über eine pskill.exe-Anwendung, die für diese Arten von Aufgaben gut geeignet ist: pskill.exe "process_name" Sie funktioniert auf diesen Prozessen auch ohne Verwendung der Option -t.
quelle
Ich habe auf einer erhöhten Powershell Folgendes getan:
Befehl Ausgabe:
Out-Parameter:
Ich habe einige Syntaxinformationen erhalten unter: https://community.spiceworks.com/topic/871561-wmic-error-like-invalid-alias-verb
quelle
NirCmds NirCmd hat die Arbeit für mich erledigt:
Die Killprocess-Manpage ist hier .
quelle
Ich hatte das gleiche Problem, als ich eine Knoten-App in Port 3000 startete und sie nicht richtig schloss und der Prozess auch nach dem Neustart weiter lief.
Keiner der Taskkill- oder Powershell-Befehle, die im Administratormodus ausgeführt werden, hat bei mir funktioniert.
Ich habe MS Process Expoler> Eigenschaften> Image> Aktuelles Verzeichnis verwendet (das sollte mein Projektverzeichnis sein).
Schließlich musste ich in SafeMode neu starten und den Projektordner umbenennen und neu starten. Die Node-Prozesse, die Port 3000 verbrauchten, haben sich selbst getötet.
quelle
Ich hatte genau das gleiche Problem und fand dieses Update auf einer anderen Site: Powershell.exe "Get-Process-Prozessname | Stop-Process" funktionierte für mich und ich befand mich im selben Boot, in dem ich neu starten musste, das / T würde nicht funktionieren .
quelle
Wie Francis erwähnte, kann ein Prozess wegen nicht abgebrochen werden
Nach meiner Erfahrung hatte ich es mit fehlerhaften Grafiktreibern zu tun , die dazu führten, dass mein Spiel abstürzte und nicht geschlossen werden konnte. Als letzten Ausweg deaktivierte ich den Grafiktreiber und der Prozess ging schließlich weg.
Wenn Ihre Anwendung auf eine Ressource von einem Treiber wie WLAN oder Grafik wartet, versuchen Sie, sie im Geräte-Manager zu deaktivieren. Sie müssen ein wenig tief graben, um zu sehen, wo sie hängen.
Dies wird natürlich nicht empfohlen, aber manchmal haben Sie nichts mehr zu verlieren.
quelle
Ich hatte das gleiche Problem und wie viele andere hier gesagt haben, hat keiner der normalen Kill-Befehle funktioniert. Meine Problemdatei war eine ausführbare Datei, die von einem Benutzer auf einem Remotedesktop-Server von einer Netzwerkfreigabe ausgeführt wurde. Bei mehreren gemeinsam genutzten Benutzern ist es nicht einfach, während eines Arbeitstages neu zu starten. Auch wenn sich der Benutzer abgemeldet hat, wurde die Exe noch im Task-Manager aufgeführt. Ich habe an den Server gesendet, auf dem der Ordner freigegeben wurde, und über Computerverwaltung -> Sitzungen festgestellt, dass der Benutzer mit der Sitzung von diesem RDP-Server noch geöffnet ist, obwohl er abgemeldet war. Rechtsklick -> Sitzung schließen und die Dateisperre wurde aufgehoben.
Schlägt mich, warum ich die Einnahmen nicht beenden konnte. Die Fehlermeldung, die ich ursprünglich beim Versuch, die Datei zu löschen, erhalten habe, lautete "Die Aktion kann nicht abgeschlossen werden, da die Datei im System geöffnet ist."
Hoffe das hilft jemand anderem.
quelle
In meinem Fall hat keine der Lösungen hier funktioniert. Ich stellte schließlich fest, dass das betreffende Programm beim Versuch, USB-Audio-Interfaces abzufragen, eingefroren war. Also zog ich einen USB-DAC heraus, den ich angeschlossen hatte, und zu meiner Überraschung wurde die Anwendung sofort beendet. In der Antwort von Francis wird erwähnt, dass dies möglicherweise auf "unverarbeitete E / A-Anforderungen zurückzuführen ist, die nicht ordnungsgemäß verarbeitet wurden (von einem Gerätetreiber, auf den Ihr Programm möglicherweise zugegriffen hat)", was möglicherweise erklärt, warum dies das Problem behoben hat.
Ich nehme an, es hängt wirklich davon ab, was das Programm tat, als es einfrierte, aber wenn keine der anderen Lösungen funktioniert, versuchen Sie, alle USB-Geräte zu trennen, um festzustellen, ob eine davon die Ursache sein könnte.
quelle
Führen Sie CMD als Administrator aus, um das Problem zu beheben
quelle
quelle