Vastgelopen Windows-service oplossen zonder reboot

Een service die blijft hangen op “Wordt gestopt” / “Stopping” (status STOP_PENDING) kun je meestal opruimen zonder de hele computer opnieuw op te starten. De kern: schiet het onderliggende proces hard af en start de service opnieuw.

Stap 1 — PID van de service opzoeken

sc queryex servicenaam
  • Bij STATE zie je dat-ie op STOP_PENDING blijft staan.
  • Bij PID staat het procesnummer dat je nodig hebt.

Let op: gebruik de servicenaam, niet de weergavenaam. Die vind je in services.msc onder Eigenschappen, of via sc query.

Stap 2 — Het proces forceren te stoppen

Op basis van het PID:

taskkill /PID <pidnummer> /F

Of op basis van de executable-naam:

taskkill /IM processnaam.exe /F

Stap 3 — Service opnieuw starten

sc start servicenaam

of:

net start servicenaam

PowerShell-alternatief

powershell

Stop-Service -Name servicenaam -Force

# Blijft die hangen, dan het proces forceren:
$svc = Get-CimInstance Win32_Service -Filter "Name='servicenaam'"
Stop-Process -Id $svc.ProcessId -Force

# Daarna opnieuw starten:
Start-Service -Name servicenaam

Aandachtspunten

  • PID = 0 — Het proces is al weg en de Service Control Manager (SCM) denkt alleen nog dat het draait. taskkill werkt dan niet. Soms lost een paar minuten wachten het op (SCM-timeout, standaard ca. 30 sec maar kan oplopen); anders is een herstart van de service host wél nodig.
  • Afhankelijke services — Als andere services afhankelijk zijn, moet je die eerst stoppen. sc queryex en de Afhankelijkheden-tab in services.msc laten dat zien.
  • svchost-services — Draait de service in een gedeelde svchost.exe met meerdere services, dan kill je met /F mogelijk meerdere services tegelijk. Op moderne Windows (10/11, Server 2019+) draaien de meeste in hun eigen svchost, maar controleer dit voordat je een svchost-PID afschiet.
  • “Service marked for deletion” — Als de SCM zelf in de war is, kom je alsnog bij een reboot. Zelfs dan is een herstart van de Plug and Play-service of de betreffende host soms al genoeg.

Samengevat

SituatieOplossing
Service hangt op STOP_PENDING, PID > 0taskkill /PID <pid> /F, daarna sc start
PID = 0Even wachten op SCM-timeout, anders host herstarten
Afhankelijke servicesEerst dependencies stoppen
Service in gedeelde svchostPID controleren vóór /F, anders raak je meer services
“Marked for deletion”Reboot (of host-service herstart)

In verreweg de meeste gevallen lost stap 1–3 het op. Pas als de SCM zelf vastloopt kom je bij een reboot.