Gelegentlich wird ein Programm auf einem Windows-Computer verrückt und hängt einfach. Also rufe ich den Task-Manager auf und drücke die Schaltfläche "Prozess beenden". Dies funktioniert jedoch nicht immer. Wenn ich es oft genug versuche, stirbt es normalerweise irgendwann, aber ich würde es wirklich gerne sofort töten können. Unter Linux konnte ich nur kill -9
garantieren, dass ein Prozess sterben wird.
Dies kann auch zum Schreiben von Batch-Skripten verwendet werden, und das Schreiben von Batch-Skripten wird programmiert.
Gibt es ein Programm oder einen Befehl, der mit Windows geliefert wird und einen Prozess immer abbricht? Eine kostenlose Drittanbieter-App wäre in Ordnung, obwohl ich dies lieber auf Computern tun möchte, auf denen ich mich zum ersten Mal hinsetze.
Antworten:
"Prozess beenden" auf der Registerkarte "Prozesse" ruft
TerminateProcess
die ultimative Methode auf, mit der Windows einen Prozess beenden kann.Wenn es nicht verschwindet, ist es derzeit gesperrt und wartet auf eine Kernel-Ressource (wahrscheinlich einen fehlerhaften Treiber). Es gibt nichts (außer einem Neustart), was Sie tun könnten, um den Prozess zu beenden.
Schauen Sie sich diesen Blogeintrag von wayback an, wenn: http://blogs.technet.com/markrussinovich/archive/2005/08/17/unkillable-processes.aspx
Unix-basierte Systeme wie Linux haben auch das Problem, dass Prozesse überleben können,
kill -9
wenn sie sich im sogenannten "unterbrechungsfreien Ruhezustand" befinden (angezeigt durch top und ps als StatusD
). Zu diesem Zeitpunkt schlafen die Prozesse so gut, dass sie eingehende Signale nicht verarbeiten können (waskill
tut - Signale senden).Normalerweise sollte ein unterbrechungsfreier Schlaf nicht lange dauern, aber wie unter Windows können defekte Treiber oder defekte Userpace-Programme (
vfork
ohneexec
) fürD
immer schlafen .quelle
taskkill /f
ist das ultimative.TerminateProcess
API auf. Es macht genau das Gleiche wie der Task-Manager (obwohl Sie mit erhöhten Rechten Recht haben).Das "/ f" steht für "force". Wenn Sie die PID kennen, können Sie diese wie folgt angeben:
Viele andere Optionen sind möglich, geben Sie einfach taskkill /? für alle. Die Option "/ t" beendet einen Prozess und alle untergeordneten Prozesse. das kann für Sie nützlich sein.
quelle
taskkill /pid 1234 /f
funktioniert, wenn End Task sich weigert zu arbeiten! BEEINDRUCKEND!Process Hacker bietet zahlreiche Möglichkeiten, einen Prozess zu beenden.
(Klicken Sie mit der rechten Maustaste auf den Vorgang und gehen Sie dann zu Verschiedenes-> Terminator.)
quelle
JosepStyons ist richtig. Öffnen Sie cmd.exe und führen Sie es aus
Wenn es einen Fehler gibt, der sagt:
Versuchen Sie dann, cmd.exe als Administrator auszuführen.
quelle
ERROR: The process with PID 17888 (child process of PID 17880) could not be terminated. Reason: There is no instance of the task.
und es bezieht sich auf die Eltern-PID 17880. Da es die Eltern nicht finden kann, wird es das verwaiste Kind nicht töten. :(Holen Sie sich den Prozess-Explorer von sysinternals (jetzt Microsoft)
Prozess-Explorer - Windows Sysinternals | Microsoft Docs
quelle
Ein Trick, der gut funktioniert, besteht darin, einen Debugger anzuhängen und den Debugger dann zu beenden.
Unter XP oder Windows 2003 können Sie dies mit ntsd tun, das im Lieferumfang enthalten ist:
ntsd öffnet ein neues Fenster. Geben Sie einfach 'q' in das Fenster ein, um den Debugger zu beenden und den Vorgang abzuschließen.
Ich habe gewusst, dass dies auch dann funktioniert, wenn der Task-Manager einen Prozess nicht beenden kann.
Leider wurde ntsd aus Vista entfernt und Sie müssen die (kostenlosen) Debbugging-Tools für Windows installieren , um einen geeigneten Debugger zu erhalten.
quelle
winsdk_web.exe
was nichts bewirkt.Richten Sie einen AT-Befehl ein, um den Task-Manager oder den Prozess-Explorer als SYSTEM auszuführen.
Wenn sich der Prozess-Explorer in Ihrem Root-C-Laufwerk befindet, wird er als SYSTEM geöffnet, und Sie können jeden Prozess beenden, ohne dass Fehler beim Zugriff verweigert werden. Stellen Sie dies für eine Minute in der Zukunft ein, dann wird es für Sie angezeigt.
quelle
Wenn der ntsd-Zugriff verweigert wird, versuchen Sie:
ZeroWave wurde als einfaches Tool entwickelt, mit dem jede Art von Prozess auf mehreren Ebenen beendet werden kann.
ZeroWave ist aufgrund seiner einfachen Installation und seiner sehr benutzerfreundlichen grafischen Oberfläche auch ein benutzerfreundliches Programm.
ZeroWave verfügt über drei Beendigungsmodi und kann mit dem "INSANE" -Modus jede Art von Prozess beenden, der unter Windows ausgeführt werden kann.
Es scheint, dass ZeroWave avp.exe nicht töten kann
quelle
Zu Ihrer Information, Sie können manchmal SYSTEM oder Trustedinstaller verwenden, um Aufgaben zu beenden;)
google quickkill_3_0.bat
quelle