Często zdarza mi się, że usługa zatrzymuje się w statusie „stopping” lub „starting”. Poniżej pokażę wam jak sobie z tym poradzić bez konieczności restartu serwera.
Na początek musimy odnaleźć nazwę usługi. Najprościej będzie poprzez uruchomienie services.msc i wejście we właściwości usługi.
Następnie, należy w CMD wykonać polecenie:
1 |
sc queryex servicename |
servicename to nazwa usługi która się zawiesiła. W naszym przypadku polecenie będzie wyglądać tak:
1 |
sc queryex spooler |
W tym kroku musimy skopiować nr PID aby wykorzystać go w kolejnym poleceniu, które zakończy proces o wybranym PID. W wierszu poleceń wykonujemy polecenie:
1 |
taskkill /f /pid [PID] |
Zatem w naszym przypadku polecenie będzie wyglądać tak:
1 |
taskkill /f /pid 2332 |
Jeśli polecenie zostanie wykonane poprawnie, zostaniesz powiadomiony i sukcesie zatrzymania procesu.
Pamiętaj jednak, że to rozwiązanie nie zadziała przy krytycznych usługach systemu windows. W takich przypadkach może być wymagany restart serwera.