417 Stimmen

Wirklich das Beenden eines Prozesses in Windows

Gelegentlich verhält sich ein Programm auf einem Windows-Rechner verrückt und hängt einfach. Also rufe ich den Task-Manager auf und drücke den "Prozess beenden" Button dafür. Allerdings funktioniert das nicht immer; wenn ich es oft genug versuche, dann wird es normalerweise irgendwann sterben, aber ich würde es wirklich bevorzugen, es sofort zu beenden. Auf Linux könnte ich einfach kill -9 verwenden, um sicherzustellen, dass ein Prozess stirbt.

Dies könnte auch für das Schreiben von Batch-Skripten verwendet werden und das Schreiben von Batch-Skripten ist Programmieren.

Gibt es ein Programm oder Befehl, der mit Windows geliefert wird, der immer einen Prozess beendet? Eine kostenlose Drittanbieter-App wäre in Ordnung, obwohl ich es bevorzugen würde, dies auf Maschinen zu tun, an denen ich zum ersten Mal sitze.

23 Stimmen

Ungewollte Prozesse sind ein häufig genug auftretendes Problem in der Programmierung, dass ich nicht zustimmen kann; dies ist keine Frage, die nichts mit dem Thema zu tun hat.

25 Stimmen

Ich befasse mich als Entwickler täglich mit Prozessmanagement. Das ist absolut mein Thema!

17 Stimmen

Ich rate dringend davon ab, diese Frage zu löschen. +195 und es ist ein wirklich früher Google-Treffer für die betroffene Frage.

16voto

Rob Walker Punkte 45267

Ein Trick, der gut funktioniert, ist, einen Debugger anzufügen und dann den Debugger zu beenden.

Auf XP oder Windows 2003 können Sie dies mit ntsd machen, das standardmäßig mitgeliefert wird:

ntsd -pn myapp.exe

ntsd wird ein neues Fenster öffnen. Tippen Sie einfach 'q' in das Fenster, um den Debugger zu beenden und den Prozess zu beenden.

Ich weiß, dass dies selbst dann funktioniert, wenn der Task-Manager scheinbar nicht in der Lage ist, einen Prozess zu beenden.

Leider wurde ntsd aus Vista entfernt und Sie müssen die (kostenlosen) Debugging-Tools für Windows installieren, um einen geeigneten Debugger zu erhalten.

1 Stimmen

Vielen Dank dafür. Fügen Sie "-c q" (ohne Anführungszeichen) hinzu, um das Autoquit zu aktivieren, was es zu einem idealen Prozesskiller macht.

2 Stimmen

Wenn Visual Studio und eine Anwendung, die gerade debuggt wird, beide hängen, hängen Sie sich an und beenden Sie die alte Instanz von VS. Der Killer kann eine neue Instanz von VS sein, die dann das alte Projekt öffnen und es Ihnen ermöglichen kann, weiter zu arbeiten.

0 Stimmen

Ich kann nicht herausfinden, wie ich etwas von diesem Link herunterladen kann außer winsdk_web.exe, was nichts bewirkt.

6voto

David Ruark Punkte 69

Ein AT-Befehl einrichten, um den Task-Manager oder den Process Explorer als SYSTEM auszuführen.

AT 12:34 /interactive "C:/procexp.exe"

Wenn der Process Explorer auf Ihrem Root-C-Laufwerk lag, würde dies ihn als SYSTEM öffnen und Sie könnten jeden Prozess beenden, ohne Zugriffsverweigerungsfehler zu erhalten. Legen Sie dies für etwa eine Minute in der Zukunft fest, dann wird es für Sie auftauchen.

4 Stimmen

Ich erhalte die folgende Warnung, wenn ich dies versuche, also scheint es nicht mehr zu funktionieren: "Warnung: Aufgrund von Sicherheitsverbesserungen wird diese Aufgabe zum erwarteten Zeitpunkt ausgeführt, jedoch nicht interaktiv. Verwenden Sie das schtasks.exe-Dienstprogramm, wenn eine interaktive Aufgabe erforderlich ist ('schtasks /?' für weitere Details)."

1voto

RmccurdyDOTcom Punkte 135

Zur Info, manchmal können Sie SYSTEM oder Trustedinstaller verwenden, um Aufgaben zu beenden ;)

google quickkill_3_0.bat

sc config TrustedInstaller binPath= "cmd /c TASKKILL /F  /IM notepad.exe
sc start "TrustedInstaller"

1voto

GeekOnHeels01 Punkte 21

Ich hatte das gleiche Problem, hier ist, wie ich es gelöst habe.

1/ Öffnen Sie den „Task-Manager“

2/ Suchen Sie den Anwendungsnamen in der Liste

3/ Wenn Sie es gefunden haben, klicken Sie mit der rechten Maustaste auf den Namen und dann auf „Eigenschaften“

4/ Klicken Sie im Eigenschaftenfenster auf „Sicherheit“

5/ Klicken Sie auf „Bearbeiten“, um Berechtigungen zu ändern

6/ Verweigern Sie alle Berechtigungen für alle Benutzer, klicken Sie auf „Anwenden“ und dann „OK“

7/ Klicken Sie auf „Erweitert“ für spezielle Berechtigungseinstellungen

8/ Entfernen Sie die Berechtigungen für alle Benutzer

9/ Klicken Sie auf „Anwenden“ und dann „OK“

10/ Klicken Sie auf „Anwenden“ und dann erneut „OK“

11/ Sie können jetzt den Prozess im Task-Manager beenden und die App deinstallieren, wenn Sie möchten.

0voto

diyism Punkte 11786

Wenn auf den Zugriff auf ntsd verweigert wird, versuchen Sie es mit:

ZeroWave wurde als ein einfaches Werkzeug konzipiert, das eine mehrstufige Beendigung aller Arten von Prozessen ermöglicht.

ZeroWave ist auch ein benutzerfreundliches Programm aufgrund seiner einfachen Installation und seiner sehr freundlichen grafischen Benutzeroberfläche.

ZeroWave verfügt über drei Beendigungsmodi und mit dem "INSANE"-Modus kann es jeden Windows-Prozess beenden.

Es scheint, dass ZeroWave avp.exe nicht beenden kann

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X