Как остановить повисший сервис из командной строки

Просто полезный совет.

Иногда бывает что какой-то из сервисов Windows подвисает в состоянии «Запуск» (Starting) или «Остановка» (Stopping).

Через Администрирование — Службы его убить не получится. Возможно это сделать через Task Manager. Но есть и другой способ если по какой-то причине запустить диспетчер задач не получается.

Можно воспользоваться командной строкой и утилитой sc. Запускаем ее от имени администратора и вводим

sc queryex SERVICENAME

где SERVICENAME — название повисшей службы.

Далее смотрим ID процесса и убиваем его:

taskkill /f /pid PROCESSID

где PROCESSID — ID процесса, полученный на предыдущем шаге.

service_force_stop

 

Еще полезная команда:

taskkill /F /IM notepad.exe

принудительно удалить все процессы с именем notepad.exe

Как остановить повисший сервис из командной строки: 9 комментариев

  1. Дмитрий

    Net start
    Net stop проще и быстрее. Не рассматривали такой вариант?
    И когда в консоли невернеая информация ( по факту служба может стопнуться, а в консоли- еще висеть) нет старт рулит.

      1. Василий

        А разве твой способ действует на повисшие в статусе «остановка» службы?

  2. shda

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

  3. Максим

    Остановить зависшую службу можно проще — в одно действие и без риска набрать неверный номер процесса:
    taskkill /f /fi «services eq ИМЯ_СЛУЖБЫ»

    Проверено на службе зависающей в состоянии «Запуск».
    Net stop здесь бессилен. Через «Диспетчер задач» тоже не остановить.
    Описанный в статье способ годится, но он сложноват.

  4. Sergio

    Коллеги,
    А как пробить службу которая зависла в статусе running?
    Как пообщаться с ней и понять что она перестала отвечать?

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *