Как убить службу Windows 10, которая не останавливается
Если вы являетесь администратором ИТ-поддержки, иногда вы можете столкнуться с ситуацией, когда процесс службы Windows зависает в состоянии «Остановка» или «Не отвечает». Затем им нужно будет убить Windows, которая зависает при остановке.
Такая ситуация возникает, когда вы пытаетесь остановить службу, но она не позволяет вам это сделать. Кроме того, кнопки управления службой заморожены, и, следовательно, вам не разрешено останавливать службу из диспетчера управления службами/services.msc. Хотя вы можете перезагрузить компьютер с Windows 10 и проверить, решает ли он проблему, в большинстве случаев он может не работать. Вместо перезагрузки сервера можно попробовать убить службу Windows, которая зависает при остановке. Посмотрим, как.
Способ 1: использование Taskkill в командной строке
Программы для Windows, мобильные приложения, игры - ВСЁ БЕСПЛАТНО, в нашем закрытом телеграмм канале - Подписывайтесь:)
Узнать название службы
Шаг 1: Щелкните правой кнопкой мыши «Пуск» и выберите «Выполнить», чтобы открыть командное окно «Выполнить».
Шаг 2: В командном окне «Выполнить» введите services.msc и нажмите Enter, чтобы открыть диспетчер служб.
Шаг 3: В окне «Службы» найдите службу, которая зависла.
Запишите имя службы.
*Примечание. Например, у нас возникла проблема со звуком Realtek, поэтому мы дважды щелкнули по службе Realtek Audio.
Затем в диалоговом окне Realtek Audio Service мы отметили имя службы — RtkAudioService.
Узнать сервисный PID и убить PID
Шаг 1: Нажмите сочетание клавиш Win + R, чтобы открыть командное окно «Выполнить».
Шаг 2: В поле поиска введите cmd и одновременно нажмите клавиши Ctrl + Shift + Enter, чтобы открыть командную строку в режиме администратора.
Шаг 3: Скопируйте и вставьте приведенную ниже команду в окно командной строки (администратора):
имя службы sc queryex
*Примечание. Замените выделенную часть на услугу, указанную выше.
Шаг 4: Запишите PID службы.
Шаг 5. Теперь в том же окне командной строки с повышенными привилегиями выполните приведенную ниже команду и нажмите Enter:
taskkill /f /pid [PID]
*Примечание. Замените выделенную часть на PID, который вы скопировали на шаге 4.
Шаг 6: При успешном завершении процесса вы получите следующее сообщение:
The process with PID XXXX has been terminated
*Примечание. Убедитесь, что вы завершаете правильный процесс, а не критически важную службу Windows, которая может привести к автоматической перезагрузке компьютера.
Способ 2. Остановка служб Windows с помощью PowerShell
Windows PowerShell — еще один вариант, с помощью которого вы можете принудительно остановить службу. Вот как:
Шаг 1. Щелкните правой кнопкой мыши меню «Пуск» и выберите Windows PowerShell (Admin).
Шаг 3: Скопируйте и вставьте приведенную ниже команду в Windows PowerShell (администратор) и нажмите Enter, чтобы получить список служб, находящихся в состоянии остановки:
Get-WmiObject -Class win32_service | Where-Object {$_.state -eq 'stop pending'}
Шаг 4: Теперь вы можете завершить процессы всех обнаруженных служб с помощью командлета Stop-Process.
Вы можете создать цикл, добавив обе операции и получить команду, которая автоматически убивает все зависшие сервисные процессы.
Способ 3: поиск процесса зависания в мониторе ресурсов
Resource Monitor — еще одно приложение, которое может помочь вам найти процесс, вызвавший его зависание. Давайте посмотрим, как:
Шаг 1: Щелкните правой кнопкой мыши «Пуск» и выберите «Выполнить».
Шаг 2: Откроется окно команды «Выполнить».
Здесь введите Resmon в поле поиска и нажмите Enter, чтобы открыть приложение Resource Monitor.
Шаг 3: Выберите вкладку ЦП и найдите зависший процесс.
Щелкните процесс правой кнопкой мыши и выберите «Анализ цепочки ожидания».
Шаг 4: В окне «Анализ цепочки ожидания» вы увидите, что выбранный вами процесс ожидает другого процесса.
Выберите потоки процесса и нажмите кнопку «Завершить процесс» ниже.
* Примечание. Вам не нужно убивать его, если вы ждете svchost.exe или другой процесс.
Вы также можете проанализировать цепочку ожидания для этого процесса.
Найдите PID процесса, которого ожидает файл svchost.exe, и завершите его.
Способ 4. Уничтожение зависшего процесса с помощью Process Explorer
Даже если вы являетесь локальным администратором, у вас может не быть разрешений для некоторых процессов, и в результате вы не сможете убить некоторые процессы, связанные с SYSTEM. Следовательно, чтобы завершить такие процессы, вы должны предоставить достаточные разрешения локальным администраторам. Для этого вам понадобятся две утилиты — psexec.exe и ProcessExplorer.
Шаг 1. Перейдите по ссылке ниже (официальная страница загрузки Microsoft), чтобы загрузить приложение Process Explorer.
https://docs.microsoft.com/en-us/sysinternals/downloads/процесс-проводник
Шаг 2: Откройте папку Zip и перетащите файл procexp.exe на рабочий стол.
Шаг 3: Теперь щелкните его правой кнопкой мыши и выберите «Запуск от имени администратора».
Шаг 4: Находясь в окне Process Explorer, перейдите в левую часть окна и в разделе «Процесс» выберите процесс, который завис при остановке.
Щелкните его правой кнопкой мыши и выберите «Свойства».
Шаг 5: В диалоговом окне «Свойства» выберите вкладку «Службы» и нажмите «Разрешения».
Шаг 6. Теперь в диалоговом окне «Разрешения» в разделе «Безопасность» перейдите в поле «Группа или имена пользователей» и выберите «Администраторы».
Затем перейдите в поле «Разрешения для администраторов» и установите флажок «Разрешить» рядом с «Полный доступ».
Нажмите OK, чтобы сохранить изменения.
Шаг 7: Нажмите OK еще раз в окне свойств, чтобы применить изменения и выйти.
Теперь попробуйте убить службу Windows, которая зависает при остановке.
Многие пользователи также сообщают, что иногда простая перезагрузка системы может помочь решить проблему. Если проблема не устранена, обратитесь в службу поддержки Microsoft и запланируйте ее на какой-то нечетный час, и иногда это должно решить проблему.
Программы для Windows, мобильные приложения, игры - ВСЁ БЕСПЛАТНО, в нашем закрытом телеграмм канале - Подписывайтесь:)