Wenn man versucht, einen Windows-Dienst neu zu starten oder zu beenden, dann kann es passieren, dass er im Status „wird beendet“ hängen bleibt. Versuche, den Service mit dem Task-Manager aus dem Speicher zu räumen, schlagen meist mit der Meldung „Zugriff verweigert“ fehl. Anstatt den Rechner neu zu starten, kann man den Dienst mit Windows-Bordmitteln beenden.
Ein wirksames Tool, um störrische Prozesse zu eliminieren, ist das Kommandozeilenprogramm taskkill.exe. Dieses benötigt jedoch die Prozess-ID, um in solchen Fällen helfen zu können. Hat man jedoch versucht, einen Windows-Dienst über Computerverwaltung ⇒ Dienste und Anwendungen ⇒ Dienste (services.msc) zu beenden, dann kennt man nur seinen Namen.
Mit Hilfe dieser Information lässt sich die PID jedoch leicht herausfinden. Entweder bemüht man dafür den Task-Manager, der unter dem Reiter Dienste die Prozess-ID aller laufenden Services auflistet. Auf der Kommandozeile bietet sich dafür das Programm sc.exe an.
sc queryex|more
Listet alle laufenden Dienste auf und man findet somit die PID des Dienstes heraus.
Wenn man die PID kennt, dann kann man den bockigen Service mit taskill beenden. Der Schalter /f steht für force und erzwingt das Ende eines Prozesses.
taskkill /pid [Nummer] /f