wake-up-neo.com

Taskkill/f beendet keinen Prozess

Wenn ich eine experimentelle Instanz von VS zum Debuggen von VS starte und das Debuggen anhalte (manchmal direkt vom übergeordneten VS), bleibt ein zombile devenv.exe-Prozess aktiv, den ich nicht beenden kann. Es hält an vielen meiner DLLs fest.

Da ich auf diesem 64-Bit-Win7-Computer als Administrator angemeldet bin, würde ich erwarten, dass ich jeden Prozess beenden kann, den ich möchte.

I tried (from Administrator command Prompt):

End Task from Task Manager.
TASKKILL /F /IM devenv.exe
PSKILL devenv.exe

Keiner gibt einen Fehler zurück und TASKKILL und PSKILL geben Erfolgsmeldungen zum Beenden/Beenden des Prozesses zurück. Die devenv.exe wird jedoch immer noch ausgeführt. Sie wird nicht erneut erstellt, da PID konstant bleibt. Es geht nur beim Neustart des Systems weg, was keine gute Lösung ist.

Hinweis. LockHunter zeigt, dass Devenv sich selbst gesperrt hat. Und es kann es nicht aufschließen.

Process Monitor shows devenv to be in some kind of 'Process Profiling' loop

Der obige Screenshot zeigt die Ausgabe von Process Monitor und zeigt an, dass sich devenv in einer Art "Process Profiling" -Schleife befindet.

Irgendwelche Ideen, wie man einen solchen Prozess unter Windows beenden kann?

112
dushyantp

sie müssen auch den untergeordneten Prozess beenden, wenn ein solcher Prozess gestartet wurde, um den Prozess erfolgreich zu beenden

taskkill /IM "process_name" /T /F

/T = kills child process

/F = forceful termination of your process
66
aaa

Hatte gerade das gleiche Problem unter Windows Server 2008 R2 und nichts half, nicht Taskmanager oder Taskkill. Aber Windows-Powershell läuft, da der Administrator mit "kill -id pid" gearbeitet hat.

26
Gnampf

Reboot 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 tötbare Prozesse.

Zusammenfassend ist es durchaus möglich, dass es nicht verarbeitete E/A-Anforderungen gibt, die nicht ordnungsgemäß verarbeitet wurden (durch einen Gerätetreiber, auf den Ihr Programm möglicherweise zugegriffen hat).

http://blogs.technet.com/b/markrussinovich/archive/2005/08/17/unkillable-processes.aspx

22
Francis

Die Taskkill- und Powershell-Methoden (Kill) haben bei mir nicht funktioniert; es sagte immer noch Zugriff verweigert.

Ich hatte mehr Glück damit:

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

Ich weiß, es ist spät, aber taskkill /im devenv.exe /t /f sollte funktionieren. der /t beendet auch untergeordnete Prozesse.

9
nephi12

In meinem Fall entdeckte ich nach mehreren Tagen der Auseinandersetzung mit diesem Problem (dies geschah bei VirtualBox und µTorrent-Prozessen), dass es durch ein Netzwerktreiberproblem verursacht wurde, das durch den Windows Update-Patch KB4338818 (Windows 7 x64) ausgelöst wurde. Nach der Deinstallation des Patches war alles wieder normal. Ich dachte nur, es könnte für andere nützlich sein.

5
Danita

Ich habe das ein paar Mal gesehen und meine einzige Lösung war ein Neustart.

Sie können versuchen, PowerShell zu verwenden: Get-Process devenv | töten

Wenn jedoch die anderen Methoden fehlschlagen, wird dies wahrscheinlich auch der Fall sein. :-( 

5
Thomas Lee

Ich konnte mein Problem mit diesem Problem lösen, indem ich Explorer.exe tötete, das wiederum süchtig nach dem Prozess war, den ich töten wollte. Ich vermute, das kann auch passieren, wenn offene Schnittstellen über Hooks bearbeitet werden, die eventuell gesperrt sind.

5
seansilver

Native tskill <pid> (oder tskill.exe <pid>) funktionierte für mich unter Windows 10, während dies bei keiner anderen nativen Antwort der Fall war.

In meinem Fall hatte ich einige chrome.exe-Prozesse, für die 'Task beenden' des Task-Managers funktionierte, aber weder taskkill /F /T /PID <pid> noch powershells kill -id <pid> funktionierten (selbst wenn beide Shells als Administrator ausgeführt wurden).

Dies ist sehr seltsam, da taskkill angeblich eine bessere Version von tskill ist.

In meinem Fall habe ich FOR /F "usebackq tokens=2 skip=2" %i IN (`TASKLIST /FI "IMAGENAME eq name_of_task.exe"`) DO tskill %i benutzt, um alle Instanzen einer bestimmten Aufgabe zu beenden.

3
Zig

Ich werde hier etwas vorschlagen, da ich vor kurzem mit dem gleichen Problem konfrontiert war und alles Mögliche in den Antworten ausprobierte, aber nichts funktionierte. Ich bekam Fehler wie 

FEHLER: Der Prozess mit der PID 23908 konnte nicht beendet werden. Grund: Es ist keine laufende Instanz der Aufgabe vorhanden.

mit der Eingabeaufforderung. Power Shell war auch nicht hilfreich. es würde einfach die Befehle ausführen und keine Antwort bei laufendem Prozess. 

Bis ich beschloss, die zugehörige '.exe'-Datei zu löschen. Da die Datei aktiv war, erlaubte Windows die Löschung nicht, aber in diesem Warnfenster wurde der Name des Prozesses angegeben, der die Aufgabe hielt, die ich beenden wollte. Ich konnte die ursprüngliche Aufgabe und damit den fehlerhaften Prozess beenden.

Es ist definitiv einen Versuch wert, wenn keine der Lösungen ausfällt. 

2
Astroynamicist

Einige der Exe-Dateien hängen von einigen Diensten ab, 

Sie müssen also den entsprechenden Dienst finden und zuerst anhalten.

2
girish

Ich erhielt die folgenden Ergebnisse mit 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.

Was für mich funktionierte, war sysinternalspskill

>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.

Sie können pskill von der Live-Site des sysinternal erhalten

2
Phillip Ngan

Das gleiche Problem ist bei VirtualBox in Bezug auf Java-Prozesse aufgetreten.

In meinem Fall lag es an einem Fehler im Windows Update-Patch KB4338818 (Windows 7 x64).

Ich habe es folgendermaßen gelöst:

  • Deinstallieren Sie den Windows Update-Patch KB4338818 
  • Installieren Sie den Windows Update-Patch KB4338821
2
Philippe GRANET

Ich habe das Problem mit debuggten Prozessen mit gdb in Code :: Blocks . Sobald es aus Versehen in Anweisungen aus dem Quellbereich (als libs ohne Quell- oder Systemfunktionen) versehentlich gehängt wird, können Sie das Debugging auch nicht beenden Code :: Blocks noch aus dem Task-Manager.

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 den Elternteil:

taskkill /PID yyyy

Beide sind weg.

Erledigt.

1
kolp

Für mich hat es so funktioniert, dass ich den übergeordneten Prozess beenden muss. Finden Sie den übergeordneten Prozess heraus und beenden Sie ihn

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

Wenn Sie die kostenlose Sysinternals Suite herunterladen, gibt es eine pskill.exe-Anwendung, die für diese Aufgabenarten gut geeignet ist: pskill.exe "process_name" Diese Prozesse können auch ohne die Option -t ausgeführt werden.

1
BenV136

wenn taskkill /F /T /PID <pid> nicht funktioniert . Öffnen Sie Ihr Terminal mit Run as Administrator.

Suchen Sie in Ihrem Windows-Menü nach cmd und klicken Sie mit der rechten Maustaste auf Run as Administrator,. Das hat bei mir funktioniert.

1
Kevin Li

Ich habe folgendes getan, auf einer erhöhten Powershell:

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

befehl Ausgabe:

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

Out-Parameter:

instance of __PARAMETERS
{ReturnValue = 0; };

Ich habe einige Informationen zur Syntax erhalten: https://community.spiceworks.com/topic/871561-wmic-error-like-invalid-alias-verb

1
Lakoroll

Wie Francis erwähnt, kann ein Prozess wegen nicht abgebrochen werden

"unverarbeitete E/A-Anforderungen"

Nach meiner Erfahrung handelte es sich um einen Buggy Grafiktreiber, der dazu führen würde, dass mein Spiel abstürzt und nicht geschlossen werden kann, da ich als letztes Mittel deaktiviert habe Der Grafiktreiber und der Prozess gingen schließlich weg.

Wenn Ihre Anwendung auf eine Ressource wartet vom Treiber wie WLAN oder Grafik wartet, versuchen Sie Deaktivieren ihnen in Gerätemanager , müssen Sie ein wenig tief graben, um zu sehen, wo sie hing.

Dies wird natürlich nicht empfohlen, aber manchmal haben Sie nichts mehr zu verlieren.

0
Masoud R

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 auf einer Netzwerkfreigabe ausgeführt wurde. Mit mehreren gemeinsam genutzten Benutzern ist es nicht einfach, während eines Arbeitstages neu zu starten. Auch wenn sich der Benutzer abgemeldet hat, wurde das Exe immer noch im Task-Manager aufgeführt. Ich habe an den Server gesendet, auf dem der Ordner freigegeben wurde, und von Computerverwaltung -> Sitzungen wurde festgestellt, dass der Benutzer die Sitzung noch von diesem RDP-Server geöffnet hatte, obwohl er abgemeldet war. Rechtsklick -> Sitzung schließen und die Dateisperre wurde aufgehoben.

Schlagt mich, warum ich die Taks nicht beenden konnte. Die Fehlermeldung, die ich beim Versuch erhielt, die Datei zu löschen, lautete "Die Aktion kann nicht abgeschlossen werden, da die Datei in System geöffnet ist"

Hoffe das hilft jemand anderem.

0
David Pollard

Ich hatte das gleiche Problem, als ich eine Knoten-App in Port 3000 startete. Diese wurde nicht richtig geschlossen und der Prozess lief auch nach dem Neustart weiter.

Keiner der im Administratormodus laufenden Taskkill- oder Powershell-Befehle hat für mich funktioniert.

Ich habe MS Process Expoler> Eigenschaften> Image> Aktuelles Verzeichnis (das mein Projektverzeichnis sein sollte) verwendet.

Schließlich musste ich im SafeMode neu starten, den Projektordner umbenennen und neu starten. Die Node-Prozesse, die Port 3000 verbrauchten, töteten sich selbst.

0
Aaman

Ich hatte genau das gleiche Problem und fand dieses Update auf einer anderen Website: Powershell.exe "Get-Process Prozessname | Stop-Process" Es funktionierte für mich und ich war in demselben Boot, in dem ich neu starten musste. das/T würde nicht funktionieren.

0
Jeremy

Das Laufen als Admin funktioniert bei mir:

1.Suchen Sie in Windows nach cmd

2.Klicke mit der rechten Maustaste auf cmd und wähle "Als Administrator ausführen".

3. netstat -ano | findstr :8080

4 .taskkill/pid (your number) /F

My result

0
Qing Yuan

Ich hatte das gleiche Problem. Versuchen Sie, cmd als "Als Administrator ausführen" auszuführen. 

0
Usman

Führen Sie CMD als Admin aus, um das Problem zu beheben

0

NirSoft's NirCmd hat den Job für mich gemacht:

nircmd killprocess "process name.exe"

killprocess manpage ist hier .

0
Saxtus