Как перезагрузить windows если произошла остановка службы

Как в Windows завершить работу зависшей службы

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

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

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

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

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

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

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

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

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

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

Как перезапустить службу в Windows 7, 8 и 10

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

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

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

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

Читайте также:  Панель задач поверх всех окон как включить windows 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), выбрать Диспетчер задач и перейти на вкладку Службы. По нажатию правой кнопки мыши на любой службе появляется контекстное меню, откуда доступна и остановка, и запуск, и перезагрузка.

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

Как завершить процесс службы Windows, зависшей в статусе stopping (остановка)? Думаю, большинство администраторов Windows, встречалось с ситуациями, когда при попытке остановить (перезапустить) службу из графического интерфейса консоли управления службами (Services.msc), служба зависает намертво и висит в статусе Stopping. После этого вы не можете остановить службу в консоли, т.к. кнопки действий службы становятся недоступными. Самый простой способ – перезагрузить сервер, но это не всегда допустимо. Рассмотрим альтернативный способ, позволяющий принудительно завершить зависшую службу или процесс без необходимости перезагрузки.

Если в течении 30 секунд после попытки остановки службы, она не останавливается, Windows выводит сообщение:

При попытке остановить такую службу командой: net stop wuauserv, появляется сообщение:

The service is starting or stopping. Please try again letter.

Завершение зависшей службы с помощью TaskKill

Наиболее простой способ завершить зависшую служу – воспользоваться утилитой taskkill. В первую очередь нужно определить PID (идентификатор процесса) нашей службы. В качестве примера возьмем службу Windows Update, ее системное имя wuauserv (имя можно посмотреть в свойствах службы в консоли services.msc).

Читайте также:  And linux windows 7 32 bit

В командной строке с правами администратора (это важно, иначе будет ошибка access denied):
sc queryex wuauserv

В данном случае PID процесса — 816.

Чтобы принудительно завершить зависший процесс с PID 816:

taskkill /PID 816 /F

SUCCESS: The process with PID 816 has been terminated.

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

«Выстрел в голову» зависшей службы можно выполнить и более элегантно, не выполняя ручное определение PID процесса. У утилиты taskkill есть параметр /FI, позволяющий использовать фильтр для выбора необходимых служб или процессов. Вы можете остановить конкретную службу командой:

TASKKILL /F /FI “SERVICES eq wuauserv”

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

taskkill /F /FI “status eq not responding”

После этого служба, зависшая в статусе Stopping должна остановиться.

Принудительное завершение зависшей службы из PowerShell

Также вы можете использовать PowerShell для принудительной остановки службы. С помощью следующей команды можно получить список служб, находящихся в состоянии Stopping:

Get-WmiObject -Class win32_service | Where-Object

Завершить процесс для всех найденных служб поможет командлет Stop-Process. Объединив обе операции в цикл, получим скрипт, автоматически завершающий все процессы подвисших служб в системе:

$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»
>

Анализ зависших процессов с помощью Resmon

Вы можете определить процесс, из-за которого зависла служба с помощью монитора ресурсов resmon.

  1. В окне Монитора ресурсов перейдите на вкладку ЦП (CPU) и найдите процесс зависшей службы;
  2. Выберите пункт Анализ цепочки ожидания (AnalyzeWaitChain);
  3. В новом окне скорее всего вы увидите, что вам процесс ожидает другой процесс. Завершите его. Если выполняется ожидание системного процесса svchost.exe, завершать его не нужно. Попробуйте проанализировать цепочку ожидания для этого процесса. Найдите PID процесса, которого ожидает ваш svchost.exe и завершите его.

Process Explorer: Завершение зависшего процесса из-под SYSTEM

Некоторые процессы, запущенные из-под SYSTEM, не может завершить даже локальный администратора сервера. Дело в том, что у него просто может не быть прав на некоторые процессы или службы. Чтобы завершить такие процесс (службы), вам необходимо предоставить локальной группе Administrators права на службу (процесс), а потом завершить их. Для этого нам понадобятся две утилиты: psexec.exe и ProcessExplorer (доступны на сайте Microsoft).

  1. Для запуска ProcessExplorer с правами системы (SYSTEM), его нужно стартовать таким образом: PSExec -s -i ProcExp.exe
  2. В списке процессов Process Explorer найдите процесс зависшей службы и откройте ее свойства;
  3. Перейдите на вкладку Services, найдите свою службу и нажмите кнопку Permissions;
  4. В разрешения службы предоставьте права FullControl для группы администраторов (Administrators). Сохраните изменения;
  5. Теперь попробуйте завершить процесс службы.

Как остановить, запустить, отключить службы

Привет всем! Как-то я рассказывал про отключение служб windows 7 для повышения производительности, а в этой статье я покажу как можно отключать системные службы вручную, а как автоматически.

При настойке операционной системы, очень часто приходится выполнять одни и те же действия, по отключению одних и тех же служб. Это меня раздражало и я никак не мог найти способ по его автоматизации. Но теперь я создал файл, который автоматически отключает ненужные мне службы. Если и у вас есть такая потребность, то читайте ниже, как это можно осуществить!)

В Windows 7, 8, 10, чтобы работать со службами, нужно:

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

Как вручную остановить службу?

  1. Для того чтобы остановить службу, кликаем правой кнопкой мыши и выбираем свойство
  2. Нажимаем остановить

Как вручную запустить службу?

  1. Для того чтобы запустить службу, кликаем правой кнопкой мыши и выбираем свойство
  2. Нажимаем запустить

Как вручную отключить службу?

  1. Для того чтобы отключить службу, кликаем правой кнопкой мыши и выбираем свойство
  2. Нажимаем остановить (можно и без этого, но тогда придется перезагружать компьютер, чтобы она была отключена)
  3. Выбираем тип запуска отключена (часто люди интересуются как остановить службу обновления windows, как раз таким способом и нужно)

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

Как автоматически остановить, запустить, отключить службу?

Для начала скачайте мой шаблон. Это службы, который я обычно отключаю сразу, как поставлю хороший антивирус.

Теперь смотрите нужные нам команды (команды берутся без кавычек):

  1. «net stop имя_службы» — эта команда останавливает службу
  2. «net start имя_службы» — эта команда запускает остановленную службу
  3. «sc config имя_службы start= значение» — эта команда меняет тип запуска службы.

Поле «значение» может быть 3 типов:

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

Поле «имя_службы» можно узнать следующим образом:

  1. Кликаем правой кнопкой мыши по необходимой службе и выбираем свойство
  2. Имя службы это и есть то имя, которое нам нужно

Теперь кликаем по скачанному файлу (Отключаем ненужные службы.bat) выше правой кнопкой мыши и нажимаем изменить.

У меня первая строчка останавливает службу, а вторая отключает её и так повторяется 4 раза с разными службами. В конце пауза, чтобы можно было посмотреть, что было сделано.

  1. Т.е. ищем название службы
  2. Пишем команду остановки или запуска
  3. Пишем команду типа запуска
  4. Сохраняем файл
  5. Кликаем по нему просто два раза кнопкой мыши и все. Скрипт будет автоматически выполнять ваши команды.

Таким образом, если вы часто что-то отключаете или останавливаете, вам просто необходим этот способ для экономии вашего времени!

Читайте также:  Исчезла часть ярлыков с рабочего стола windows 10
Оцените статью