Jak usunąć zawieszoną usługę Windows?

W życiu każdego administratora Windows nastąpi chwila gdy pewna usługa zwiśnie w statusie zatrzymywanie (stopping) – przstanie odpowiadać na jakiekolwiek polecenia. Oczywiście najprostszym rozwiązaniem jest restart serwera ale w środowisku produkcyjnym zwykle to nie będzie możliwe. Cóż więc zrobić z taka upartą usługą kiedy prośby i groźby nie pomagają na zamianę jej statusu? Trzeba będzie ją niestety ubić. Właściwie jej proces. Zróbmy to w prostych trzech krokach.

  1. W przystawce Services (services.msc) dwuklik na usłudze i sprawdzamy jej dokładną nazwę w polu Service name
  2. W wierszu poleceń (cmd.exe) wpisz
    sc queryex nazwa_uslugi
    i sprawdź zwrócone pole PID
  3. Dalej w wierszu poleceń wpisz
    taskkill /f /pid numerek_PID_usulugi_do_ubicia

To wszystko. Usługa już nie będzie niepokoić. Odsiew listę usług w Services (klawisz F5) a zobaczysz ze tej upartej już nie ma. Teraz możesz na spokojnie sprawdzić dlaczego usługa przestała odpowiadać

A jak ubić usługę za pomocą PowerShella?

  1. W przystawce Services (services.msc) dwuklik na usłudze i sprawdzamy jej dokładną nazwę w polu Service name
  2. W lini poleceń PowerShell wykonaj polecenie
    (get-wmiobject win32_service | where { $_.name -eq 'NazwaUsługi'}).processID
  3. Stop-Process IdProcesu -Force

Pamiętaj by nie ubijać krytycznych usług dla systemu operacyjnego .Musisz być bardzo ostrożny i mieć świadomość jakie konsekwencje dokładnie nastąpią w sytuacji zatrzymania danej usługi.

Na koniec warto przypomnieć jak usunąć już zatrzymaną usługę

Wystarczy krótkie polecnie w CMD:
sc delete "NazwaUsługi"