Как в Windows завершить работу зависшей службы. Как остановить, запустить, отключить службы Принудительное завершение зависшей службы из PowerShell

Для Windows 02.07.2020
Для Windows

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

И больше ни на что ни реагирует. А спустя 30 секунд вы получаете следующее сообщение:

Не удалось остановить службу NAMESERVIS Windows на локальном компьютере.
Ошибка 1053 . Служба не ответила на запрос своевременно.

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

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

Это действие перебросит вас к процессу службы, который затем можно будет завершить в принудительном режиме .

Завершить работу службы можно и через запущенную от имени администратора командную строку с помощью штатной утилиты taskkill . Выглядит команда следующим образом:

taskkill /PID № службы /F

Подсмотреть PID можно во вкладке диспетчера задач «Службы» или выполнив команду sc queryex name , где name - системное (латинское) имя службы.

Результатом выполнения команды taskkill с PID и параметром F должно стать сообщение «Процесс, с идентификатором успешно завершён» .

Я думаю, что большинство пользователей встречались с такой проблемой, как зависание служб в Windows, причем, попытка принудительного завершения такой службы не увенчалась успехом, и она весит в режиме “Stopping” . Из графического интерфейса перезапустить или принудительно завершить службу тоже не удается, а перезагрузка самого сервера, в нашем случае компьютера, не всегда может быть допустимым.

Сейчас мы рассмотрим способ, который поможет вам принудительно завершить процесс, который завис, при этом, само устройство перезапускать не нужно.

Как принудительно завершить зависшую службу?

Итак, как только пройдет 30 секунд и видно, что служба не остановилась, то Windows выведет следующее сообщение:

Быстро и без усилий завершить работу зависшего процесса можно при помощи утилиты . Перед этим вам нужно будет определить PID процесса (службы). В пример мы будем использовать службу , системное имя процесса — wuauserv .

Внимание! Если вы завершите важный процесс, то это может привести к перезагрузке системы или BSOD (экран смерти).

Теперь открываем командную строку с правами админа, если так не сделать, то может выйти ошибка. В командную строку вводим следующее:


Появится сообщение, что служба “Центр обновлений Windows” завершена. Можно потом вернуться в управление службами и там снова запустить процесс, либо вообще его удалить, если вы не пользуетесь им.

Есть еще один метод принудительного завершения процесса, при этом, не нужно узнавать PID. В этом деле нам поможет уже знакомая утилита . Запускаем ее от имени администратора.

Следующая команда поможет нам выявить службы, которые находятся в состоянии stopping:

Get-WmiObject -Class win32_service | Where-Object {$_.state -eq ‘stop pending’}


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

$Services = Get-WmiObject -Class win32_service -Filter «state = ‘stop pending"»
if ($Services) {
foreach ($service in $Services) {
try {
Stop-Process -Id $service.processid -Force -PassThru -ErrorAction Stop
}
catch {
Write-Warning -Message » Error. Error details: $_.Exception.Message»
}
}
}
else {
Write-Output «No services with ‘Stopping’.status»
}


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

При сбое в работе любой службы Windows нужно либо перезапустить службу, либо перезагрузить систему. Перезагрузка компьютера неудобна, поскольку занимает время и закрывает все окна. Если не получается остановить службу через Панель управления, можно перезапустить службу Windows из командной строки.

Открыть настройки служб Windows можно 4 способами:

  1. Нажать Win+R , в окне Выполнить ввести services.msc и нажать Enter. Откроется Диспетчер служб.
  2. Нажать Пуск , в поиске ввести Службы , открыть настройки.
  3. Открыть Панель управления -> Система и безопасность -> Администрирование -> Службы .
  4. Нажать ПКМ на кнопке Пуск или клавиши Win+X . Перейти в «Управление компьютером -> Службы и приложения -> Службы .

К счастью, от версии к версии Windows этот раздел настроек практически не изменялся. В Windows 7, Vista, 8 и 10 «Службы» будут выглядеть почти одинаково.

Перезапуск через Панель управления

Возможностей стандартных настроек в Панели управления достаточно, чтобы останавливать и запускать системные сервисы. Есть возможность — это немного повысит производительность устройства.

Остановка и повторный запуск служб Windows:

  1. Открыть любым способом окно Службы , найти нужную.
  2. Нажать по нужной службе правой кнопкой мыши и выбрать Перезапустить .
  3. Если кнопка Перезапустить неактивна — нажать Свойства .
  4. Нажать Остановить , дождаться остановки службы.
  5. Нажать на кнопку Запустить .

Если служба зависла или не остановилась — открыть диспетчер задач (Ctrl+Alt+Del) и завершить все процессы, связанные с проблемной службой.

Перезапуск через Командную строку

Если Панель управления не справляется со своими обязанностями, отключить или перезапустить службу можно через Командную строку (cmd.exe). Командная строка должна быть запущена от имени администратора.

Для управления службами существует 4 команды, дублирующие функционал Панели управления:

  • net stopservice — Остановить выбранную службу.
  • net startservice — Запустить.
  • net pauseservice — Приостановить обслуживание.
  • net continueservice — Возобновить обслуживание.

Для работы со службой нужно знать её название. Например, запуск службы Windows Audio будет выполнен по команде net start audiosrv . Здесь audiosrv — системное название службы.

Чтобы его узнать, нужно зайти в свойства. Нужная строка будет в самом верху — «Имя службы». Вывести списком имена всех активных служб можно прямо в Командной строке, введя sc query type= service .

Через консоль можно не только перезапустить службу, но и изменить её тип запуска командой sc config *СЛУЖБА* start= *ТИП_ЗАПУСКА* .

Доступные типы запуска:

  • auto — Автоматически.
  • demand — Вручную (по требованию).
  • delayed-auto — Отложенный запуск.

Например, команда sc config audiosrv start=auto переведет службу Windows Audio в тип запуска Автоматически .

Для полноты нужно упомянуть еще один способ перезапуска — через Диспетчер задач. Для этого нужно нажать комбинацию клавиш Ctrl+Alt+Del (или Ctrl-Shift-Esc), выбрать Диспетчер задач и перейти на вкладку Службы . По нажатию правой кнопки мыши на любой службе появляется контекстное меню, откуда доступна и остановка, и запуск, и перезагрузка.

Автор Виктория Громада задал вопрос в разделе Другие языки и технологии

Как отключить работу антивируса через диспетчер задачь,если пишет,что в доступе отказано? и получил лучший ответ

Ответ от Jide[гуру]
попробуйте отключить "самозащита" антивируса если такова имеется и издевайтесь над ним как хотите!

Ответ от 2 ответа [гуру]

Привет! Вот подборка тем с ответами на Ваш вопрос: Как отключить работу антивируса через диспетчер задачь,если пишет,что в доступе отказано?

Ответ от Ўрий [гуру]
Загружаешься в безопасном режиме - пуск-выполнить-msconfig-в автозагрузке снимаешь галочку с антивируса, перезагружаешься.
После этого удалить можно с помощью Revo Uninstaller Pro или IObit Uninstaller


Ответ от Sergey V. Voronin [гуру]
панель управления -- установка и удаление программ. Если там не выходит, то в службах найти и отключить.
А файл есть, коли в диспетчере значится. Например, через фар-менеджер можно точно посмотреть, как файл данного процесса называется и где находится.


Ответ от Shade [эксперт]
Скорей всего, через диспетчер задач его остановить не получится. Так как большинство современных антивирусов запускаются в качестве служб (service).
Чтобы остановить службу необходимо зайти в окно управления службами (Панель управления -> Администрирование -> Службы) . Найти службу, отвечающую за антивирус и выбрать пункт "остановить" (stop service)



Рекомендуем почитать

Наверх