Categories: Windows

Служба зависла в состоянии остановка

Встретился на днях с проблемой, которая решалась перезапуском службы, но служба просто так не останаливалась, а зависала в состоянии остановка. К счастью, я нашёл, как можно предотвратить зависание службы при остановке.

Итак, когда я открывал список служб, выбирал необходимую мне службу, и в контекстном меню выбирал её остановку, появлялось окно с прогрессом остановки службы, затем появлялась ошибка, что остановить службу невозможно. В состоянии службы указывалось, что идёт её остановка. Можно остановить службу, прервав процесс, соответсвующий службе, однако, это не решает проблему.

Если наша цель действительно решить проблему, то необходимо сделать следующее:

  1. Открыть монитор ресурсов. Для этого нажать сочетание клавиш Win+R, набрать resmon и после этого нажать клавишу «Enter».
  2. В окне монитора ресурсов необходимо открыть вкладку ЦП. Правой кнопкой мыши нажать на процесс, запущенный зависшей службой (в моём случае процесс vmms) и выбрать пункт Анализ цепочки ожидания…
  3. В открывшемся окне можно будет видеть, что процесс ожидает другой процесс. В моём случае процесс vmms ожидал процесс svchost.exe (netsvc). Рисковать и останавливать процесс svchost.exe на важном сервере у меня не было ни малейшего желания, поэтому я полез смотреть что же творится в цепочке ожидания svchost.exe (netsvc). Оказалось, что svchost.exe (netsvc) ожидал завершения ещё одного процесса WmiPrvSE.exe.
  4. Следующим шагом необходимо найти процесс WmiPrvSE.exe с нужным PID и завершить его.
  5. Затем ещё раз открыть Анализ цепочки ожидания для процесса svchost.exe (netsvc) и убедиться, что он работает нормально. Если это не так, то необходимо остановить и другие зависшие процессы.

После этого проблемы должны прекратиться.

Можно вместо столь причудливых процедур просто перезагрузить компьютер, но это не всегда подходящий вариант при работе с ответственными серверами.

Saqwel

Share
Published by
Saqwel

Recent Posts

Azure App Configuration and access to Key Vault references

We decided to use an Azure App Configuration to store configs of backend. App Configuration…

2023-08-24

Azure cli az acr login hangs

I have encountered an issue with az acr login --name <acr_name> command. It hanged and…

2023-08-23

Error: Unable to read Docker image into resource: unable to find or pull image nginx:latest

I have tried to learn terraform from scratch and found pretty simple tutorial for beginners.…

2022-09-09

Скрыть поле модели от Swagger (Hide field of model from Swagger)

При внедрении Swagger в проекте .Net Core Web API потребовалось скрыть одно поле из примера,…

2020-04-24

Прогноз цен на акции

Около года назад я решил попробовать заработать на фондовой бирже, покупая и продавая акции. Изучая…

2019-07-20

Installation failed with error code: (0x00000490), “Element not found. “

Во время установки .NET Framework столкнулся с ошибкой Installation failed with error code: (0x00000490), "Element…

2018-12-20