Prozesse enden mit taskkill und WMIC Freigeben von Arbeitsspeicher unter Windows

Von Thomas Joos 3 min Lesedauer

Anbieter zum Thema

Vollgelaufener Arbeitsspeicher bremst „Windows“-Systeme. Admins beenden Prozesse mit "taskkill" aus der Eingabe-Aufforderung oder Powershell. Der Befehl arbeitet lokal und remote, filtert nach Prozess-ID, Imagename oder Status und unterstützt das erzwungene Terminieren auch hartnäckiger Anwendungen.

Mit „taskkill“ lassen sich nun Tasks beenden. (Bild:  Thomas Joos)
Mit „taskkill“ lassen sich nun Tasks beenden.
(Bild: Thomas Joos)

Auf produktiven Windows-Servern und Arbeitsstationen sammeln sich im Verlauf längerer Sitzungen Prozesse an, die Arbeitsspeicher belegen. Hängende Anwendungen, verwaiste Dienstinstanzen und Browser mit hohem Verbrauch reduzieren die verfügbare physische Kapazität.

Über die Eingabe-Aufforderung steht mit "taskkill" ein Werkzeug zur Verfügung, das Prozesse selektiv oder per Filterausdruck terminiert und den belegten Arbeitsspeicher zurückgewinnt. Microsoft führt den Befehl als Nachfolger des älteren "kill"-Tools und unterstützt ihn in allen aktuellen Versionen, darunter „Windows Server 2025“, 2022, 2019, 2016, „Windows 11“, „Windows 10“ sowie „Azure Local“ ab 2311.2 (Microsoft Learn zu taskkill).

Syntax und Identifikation der Prozesse

Vor dem Aufruf von "taskkill" liefert "tasklist", eine Übersicht der aktiven Prozesse mit Imagename, Prozess-ID (PID), Sitzungsnummer und Speicherauslastung. Die PID dient als eindeutiger Identifikator.

Über den Parameter "/pid" beendet der Administrator einzelne oder mehrere Prozesse anhand ihrer Nummer in der Form "taskkill /pid 1230 /pid 1241 /pid 1253". Der Parameter "/im" arbeitet stattdessen mit dem Imagenamen und greift alle Instanzen einer Anwendung gleichzeitig ab, was bei Browsern mit vielen Kindprozessen den Speicherverbrauch in einem Schritt reduziert.

Ein erzwungenes Beenden gelingt mit dem Parameter "/f". Das ist notwendig, denn nicht jeder Prozess reagiert auf die reguläre Aufforderung zum Beenden. Hängt eine Anwendung im RAM und reagiert nicht mehr, terminiert "taskkill /f /im firefox.exe" sofort sämtliche firefox.exe-Instanzen.

Den Parameter "/t" ergänzt der Administrator, die Administratorin, um auch alle Kindprozesse mitzuberücksichtigen. Das Verfahren bewährt sich bei modernen Browsern, in denen jeder Tab als eigener Prozess läuft.

Filter für die selektive Auswahl

Mit dem Parameter "/fi" grenzt der Administrator die Prozessliste über Filter ein und reduziert den Wirkungsbereich von "taskkill". Verfügbar sind die Kriterien STATUS, IMAGENAME, PID, SESSION, CPUTIME, MEMUSAGE, USERNAME, SERVICES, WINDOWTITLE und MODULES.

Als Operatoren kommen "eq" (gleich) und "ne" (ungleich) in Frage, für numerische Werte zusätzlich "gt", "lt", "ge" und "le". Ein Aufruf der Form "taskkill /f /fi "MEMUSAGE gt 500000" /im *" beendet alle Prozesse mit einem Speicherverbrauch oberhalb von rund 500 Megabyte unabhängig vom Image-Namen.

Auf Hosts mit gemischten Benutzersitzungen liefert der Filter USERNAME die nötige Trennschärfe. Der Aufruf "taskkill /f /fi "USERNAME eq NT AUTHORITY\SYSTEM" /im notepad.exe" beendet eine notepad.exe-Instanz nur dann, wenn sie unter dem Systemkonto läuft.

Beendigung auf entfernten Systemen

Über den Parameter "/s" leitet "taskkill" den Aufruf an einen anderen Rechner um. Anmeldeinformationen für ein berechtigtes Konto übergeben "/u" und "/p", was den Befehl zum Beispiel auf die Form "taskkill /s srvmain /u maindom\hiropln /p p@ssW23 /fi "IMAGENAME eq note*" /im *" bringt.

Auf Remote-Systemen erzwingt Windows das Beenden generell, unabhängig vom Parameter "/f". Zwei Filter funktionieren ausschließlich lokal, nämlich WINDOWTITLE und STATUS, da das Host-System den Fensterstatus eines fremden Rechners nicht zuverlässig auswerten kann. Vorsicht gilt beim Computernamen als Filterwert, denn die Übergabe eines Host-Namens an den Host-Namenfilter löst ein Herunterfahren des Zielsystems aus und beendet sämtliche Prozesse.

WMIC als veraltete Alternative

Bis zur Auslieferung von „Windows 10“ stand mit "wmic" ein zweiter Pfad zur Prozessbeendigung zur Verfügung. Der Aufruf "wmic process where "name='firefox.exe'" delete" terminiert alle Instanzen einer Anwendung und quittiert jeden gelöschten Prozess mit einer Bestätigungsmeldung.

Microsoft hat den Befehl als veraltet markiert und liefert ihn unter „Windows 11“ nicht mehr im Standardumfang aus. Über die optionalen Features des Betriebssystems lässt sich "wmic" bei Bedarf nachinstallieren und bleibt damit für Skripte aus älteren Beständen anwendbar.

Für neue Automatisierungen empfiehlt sich der Wechsel auf Powershell-Cmdlets. Mit "Stop-Process" steht eine Alternative bereit, die das gleiche Ergebnis ohne Abhängigkeit von einer abgekündigten Komponente erzielt.

Jetzt Newsletter abonnieren

Täglich die wichtigsten Infos zu RZ- und Server-Technik

Mit Klick auf „Newsletter abonnieren“ erkläre ich mich mit der Verarbeitung und Nutzung meiner Daten gemäß Einwilligungserklärung (bitte aufklappen für Details) einverstanden und akzeptiere die Nutzungsbedingungen. Weitere Informationen finde ich in unserer Datenschutzerklärung. Die Einwilligungserklärung bezieht sich u. a. auf die Zusendung von redaktionellen Newslettern per E-Mail und auf den Datenabgleich zu Marketingzwecken mit ausgewählten Werbepartnern (z. B. LinkedIn, Google, Meta).

Aufklappen für Details zu Ihrer Einwilligung

Wirkung auf den Arbeitsspeicher

Beim Beenden eines Prozesses verwirft Windows die flüchtigen Kopien der zugehörigen ausführbaren Datei aus dem RAM, einschließlich geladener DLLs und Datensegmente. Die Originaldatei auf SSD oder Festplatte bleibt unberührt, das Programm startet nach einem erneuten Aufruf wieder.

Frei werdender Speicher steht anderen Prozessen sofort zur Verfügung, ohne Neustart und ohne weitere Maßnahmen am Betriebssystem. Auf produktiven Servern sollten Administratoren vor einem erzwungenen Beenden den Zustand offener Daten prüfen, denn ein Hard Kill umgeht die regulären Speicheroperationen einer Anwendung und kann zu Datenverlust führen.

In Skripten zur RAM-Hygiene bewährt sich die Verbindung aus "tasklist" für die Inventur, "taskkill" für die Terminierung und einer protokollierten Ausgabe an ein Logfile, was die Nachvollziehbarkeit auf Hosts mit Compliance-Anforderungen sicherstellt.

(ID:50835974)