Как убить зависший процесс windows

Перейти к содержимому

Управлять процессами в Windows можно не только через UI («Менеджер задач»), но и через командную строку. К тому же командная строка предоставляет больше контроля над данными действиями.

Для вывода списка запущенных процессов нужно ввести команду:

tasklist

Image Name                     PID Session Name        Session#    Mem Usage
========================= ======== ================ =========== ============
System Idle Process              0 Services                   0          4 K
System                           4 Services                   0      4 124 K
smss.exe                       348 Services                   0        336 K
csrss.exe                      480 Services                   0      2 780 K
wininit.exe                    552 Services                   0        572 K
csrss.exe                      568 Console                    1      9 260 K
winlogon.exe                   616 Console                    1      2 736 K
services.exe                   640 Services                   0      9 284 K
lsass.exe                      660 Services                   0     16 464 K
explorer.exe                 27736 Console                    1    125 660 K

«Убить» процесс можно как по его имени, так и по PID:

>Taskkill /IM explorer.exe /F
>Taskkill /PID 27736 /F

Флаг /F указывает, что завершить процесс нужно принудительно. Без данного флага, в некоторых случаях, процесс может не «убиться» (к примеру, это актуально как раз для процесса explorer.exe).

sposobyi-zakryit-programmuДоброго времени!

В ряде случаев даже самые «стабильные» и надежные программы могут перестать отзываться на какие-либо нажатия мышки/клавиатуры (т.е. попросту зависнуть).

Для решения вопроса, можно, конечно, перезагрузить ПК/ноутбук — но далеко не всегда это удобно (часть данных в др. ПО будет сброшена и не сохранится…).

Логично, что лучше всего закрыть только эту конкретно-зависшую программу. Всем известное сочетание ALT+F4 — далеко не всегда решает проблему, и, собственно, поэтому набросал небольшую заметку с несколькими способами принудительной ликвидации процесса.

Итак…

📌 Кстати!

Если ПК/ноутбук вообще не реагирует ни на одну из кнопок клавиатуры — то скорее всего зависла не только отдельно-взятая программа, но и в целом система.

Если так, то для перезагрузки/выключения устройства — зажмите кнопку питания (Power) на 4-5 сек. (разумеется, все несохраненные данные будут утеряны).

*

Способы закрыть не отвечающую программу

👉 Первый

Итак, самый очевидный и простой вариант — просто кликнуть правой кнопкой мышки по значку зависшей программы на панели задач Windows. После, во всплывшем окне достаточно будет выбрать вариант «закрыть окно».

Закрыть окно

Закрыть окно

*

👉 Второй

Если зависло полно-экранное приложение и до панели задач вы просто не можете добраться, попробуйте сочетания:

  • WIN, или WIN+TAB, или ALT+TAB, или ALT+Enter — чтобы свернуть окно;
  • ALT+F4, или ESC, или ALT+Q — для закрытия (выхода) из программы.

ALT+Q / клавиатура

ALT+Q / клавиатура

Перечисленные «горячие» сочетания клавиш работают с подавляющем большинством ПО для Windows.

*

👉 Третий

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

Ctrl+Shift+Esc или Ctrl+Alt+Del — открыть диспетчер задач

Ctrl+Shift+Esc или Ctrl+Alt+Del — открыть диспетчер задач

Кстати, если рабочий стол после этого стал отображаться «как-то не так» (или вообще не видно) — перезапустите процесс «Проводник» (или «Explorer» на англ.).

Примечание: также проводник можно перезапустить из командной строки, введя taskkill /F /IM explorer.exe & start explorer и нажав Enter.

Проводник - перезапустить

Проводник — перезапустить

*

👉 Четвертый

Командная строка — универсальная штука, которая может помочь и с закрытием (ликвидацией) зависших процессов (программ). Кстати, если вы наловчитесь с ее использованием — закрывать зависшие полно-экранные приложения можно будет даже в «слепую» (когда на экране ничего не отображается).

Как это делается:

  1. сначала нужно открыть 👉 командную строку;
  2. после ввести tasklist и нажать Enter;
  3. на экране появится список всех процессов (следует уточнить имя процесса/программы, которую нужно закрыть);
  4. после ввести taskkill /IM chrome.exe /f и нажать Enter (вместо «chrome.exe» — указывается имя нужного процесса).

Убиваем процесс через командную строку

Убиваем процесс через командную строку

*

👉 Пятый

Если вышеприведенные варианты не увенчались успехом, можно прибегнуть к утилите Process Hacker (ссылка на SourceForge). Это бесплатное ПО, которое покажет вам все запущенные процессы, их приоритеты, занимаемую память, нагрузку и пр.

Чтобы ликвидировать (закрыть) в нем любую из запущенных программ — нужно просто ее выбрать в списке, затем нажать ПКМ по ее имени и в появившемся окне выбрать «Terminate tree» (см. пример ниже 👇).

Process Hacker 2 — закрыть дерево процессов

Process Hacker 2 — закрыть дерево процессов

Стоит отметить, что Process Hacker закроет сразу всё дерево процессов, связанных с этой программой (чего не делают многие др. программы…).

*

PS

Если у вас часто начала зависать какая-либо программа (еще хуже программы) — обратите внимание на:

  1. версию ПО (нежелательно использовать различные бета-версии). Проверьте, совместима ли версия ПО с вашей ОС (в помощь: какая версия Windows установлена на моем компьютере);
  2. обновите драйвера (желательно с офиц. сайта);
  3. проверьте жесткий диск (если он начал «сыпаться» — подвисания будут идти постоянно);
  4. прогоните систему с помощью спец. «одноразовых» антивирусных продуктов;
  5. возможно, вашему приложению не хватает ОЗУ (посмотрите при работе ПО — сколько памяти занято в диспетчере задач).

Кроме этого, рекомендую ознакомиться с тематическими инструкциями (ссылки ниже).

👉 В помощь!

1) Вылетает или зависает игра… Что делать?

2) Зависает ноутбук: что делать? Диагностика и устранение причин зависания

3) Ошибка: Kernel-Power код 41, категория 63. Компьютер перезагружается или зависает

*

На этом пока всё…

Дополнения — всегда приветствуются!

Хорошего дня!

👋

Первая публикация: 24.04.2020

Корректировка: 28.10.2021

donate

dzen-ya

Как закрыть зависшее приложение в Windows 11 и Windows 10Если на вашем компьютере зависла какая-либо программа или игра, не стоит решать это выключением, если только речь идёт не о зависании «всего компьютера», когда полностью исчезают реакции системы на любые действия пользователя.

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

  • Закрытие зависшей программы в диспетчере задач
  • Другие способы завершения зависшего процесса
  • Видео инструкция

Закрытие зависшей программы в диспетчере задач

Если какое-либо приложение или игра зависла, в большинстве случаев работает завершение соответствующего процесса в диспетчере задач Windows 11 или Windows 10:

  1. Откройте диспетчер задач, для этого вы можете нажать сочетание клавиш Ctrl+Shift+Esc. Если это сочетание клавиш не сработало, нажмите Ctrl+Alt+Delete и выберите пункт «Диспетчер задач» в открывшемся меню. Меню Ctrl Alt Delete в Windows
  2. В списке запущенных процессов найдите зависшую программу или игру. Проще всего это сделать на вкладке «Подробности» диспетчера задач, отсортировав список по столбцу «Состояние» (нажмите по заголовку столбца для сортировки). Состояние зависшей программы будет «Не отвечает».
  3. Выберите зависшую программу и нажмите кнопку «Снять задачу» справа внизу. Снять задачу с зависшей программы в диспетчере задач

В результате программа будет закрыта, чего и требовалось добиться.

Если ваша игра открыта на весь экран, то может оказаться, что указанные в первом шаге сочетания клавиш не срабатывают. В этом случае попробуйте использовать клавиши Win+D (Win — клавиша с эмблемой Windows) для сворачивания всех окон или Alt+Tab для переключения на другие процессы Windows, а уже потом использовать предложенные шаги. Либо, вариант, предложенный в комментариях, на случай если игра продолжает разворачиваться на весь экран — Ctr+Win+D (создаем новый рабочий стол), Ctr+Win+стрелки для переключения на другие рабочие столы.

Другие способы завершения зависшего приложения

Возможны и другие способы закрыть зависшее приложение:

  • В момент, когда окно зависшей программы активно (выбрано) нажмите клавиши Alt+F4 (или Alt+Fn+F4 на некоторых ноутбуках). Вам будет предложено закрыть программу, перезапустить её, либо дождаться отклика. Выбираем «Закрыть». Закрытие программы по Alt+F4
  • Нажмите клавиши Win+R на компьютере, введите cmd и нажмите Enter (или запустите командную строку любым другим способом). Введите команду tasklist чтобы получить список процессов, найдите среди них имя .exe файла зависшей программы (либо используйте команду tasklist /fi «status eq not responding» для поиска задач, которые не отвечают, учитывайте, что не стоит закрывать dwm.exe при этом). Введите команду
    taskkill /im имя_программы.exe

    Закрыть зависшую программу в командной строке

  • Создайте ярлык, указав в поле «Расположение объекта» команду
    taskkill /f /fi "status eq not responding"

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

  • Команда Windows PowerShell для закрытия процесса: Stop-Process -Name «имя_процесса.exe»

Видео

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

В статье описываются способы как завершить процесс в текущем сеансе Windows, возможность работы с несколькими процессами сразу. С Диспетчером задач Windows знаком каждый пользователь. Характерно, что один из способов вызова Диспетчера через знаменитое сочетание клавиш Ctrl + Alt + Del вообще являлось недокументированной возможностью Windows и не встречается более ни в одной из операционных систем, являясь неким «запатентованным» товарным знаком. Однако в предыдущих версиях от Майкрософт, не отличавшихся стабильностью, Диспетчер являлся палочкой выручалочкой, который часто использовался с целью — закрыть зависшее приложение. Со временем к Диспетчеру стали обращаться за этой целью всё реже, однако сама проблема не пропала.

Для того, чтобы завершить процесс, с которым не справляется система, существует хороший аналог без графического интерфейса. Это одна из ремонтных утилит в составе Windows под названием TaskKill. Для её запуска нам понадобится обработчик команд cmd с правами администратора. Любой из процессов можно остановить, используя его имя из списка, отображаемых в Диспетчере с помощью этой утилитки. К слову, справка по TaskKill, вызываемая

taskkill /help

полностью русифицирована. Можете взглянуть. Удалить процесс какой-то конкретно можно командой

taskkill /IM имя_процесса

Например, если мы хотим завершить процесс Internet Explorer-а:

удалить процесс iexplore

отправлен сигнал на завершение работы

Однако при работе с браузерами и закрытии окна любого из них с множеством открытых вкладок, утилита либо запросит дополнительное разрешение пользователя через интерфейс самого браузера (если он завис, это бесполезное занятие) либо предупредит о принудительном закрытии программы:

принудительное закрытие хрома

Так что можно запомнить команду принудительного (аварийного) закрытия процесса. С помощью этой команды можно остановить зависший проводник Windows:

taskkill /F /IM explorer.exe

Привычный интерфейс пропадёт:

завершение работы проводника windows

и тут же ввести его снова в работу:

start explorer.exe

Кто заметил — именно добавления флага /F и удаляет дополнительную информацию из окна консоли. Так, каждому процессу присвоен свой идентификатор (в каждой сессии Windows) он свой, завершить процесс можно не по имени, а по номеру. Представим, что Диспетчер заблокирован админом или вирусом. Найти PID процесса поможет та же консоль. Откройте второе окно и наберите команду:

tasklist

pid процессов windows

Всё на виду. Но теперь команда в терминале Windows принимает вид:

taskkill /PID номер_PID

Хитрости утилиты TaskKill

  • С помощью этой команды можно удалить процесс, не зная его в лицо. Флаг /FI позволяет убить процесс, пожирающий большое количество памяти. Например, записав в консоли:

taskkill /FI «memusage gt ХХХХ»

Вы остановите все процессы и приложения, которые потребляют более ХХХХ килобайт оперативной памяти. Смотрите:

закрыть приложения с большим потреблением ram

Кстати, если наберёте команду, указав на принудительное закрытие /F и небольшой объём памяти, скажем, 9000, это приведёт к выключению Windows.

  • сама консоль при мне, если честно, никогда не зависала, но утилите TaskKill подвластно и это:
taskkill /FI cmd.exe
  • также одним из самых применяемых флагов команды
tskill /A

Например, если у вас завис документ Word, примените команды в таком виде: вам удастся удалить процесс, запущенный во всех текущих сессиях сеанса. Эта команда применяется на тот, случай, если вы хотите, чтобы следы процесса исчезли из системы полностью:

tskill /A winword.exe
  • утилита работает и на удалённых машинах. Она, скажем, для браузера от Mozill-ы принимает такой вид:

taskkill /s IP_адрес /u домен\имя_пользователя /IM firefox.exe

Ярлык для завершения зависших программ.

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

taskkill.exe /f /fi "status eq not responding"

Именно эту команду мы используем в строке для указуемого пути при создании ярлыка:

завершить процесс с помощью ярлыка

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

Завершить зависший процесс

Пока всё. Успехов.

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

служба windows зависла в статусе stopping и не выключается

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

Не удалось остановить службу xxxxxxx Windows на локальном компьютере.
 Ошибка 1053. Служба не ответила на запрос своевременно.
Windows Could not stop the xxxxxx service on Local Computer
Error 1053: The service did not respond in a timely fashion.

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

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

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

Или:

[SC] ControlService: ошибка: 1061:
Служба в настоящее время не может принимать команды.
Windows could not stop the Service on Local Computer.
Error 1061: The service cannot accept control messages at this time.

Содержание:

  • Как остановить зависшую службу Windows из командной строки?
  • Принудительное завершение зависшей службы в PowerShell
  • Анализ цепочки ожидания зависшего приложения с помощью ResMon
  • Process Explorer: Завершение зависшего процесса из-под SYSTEM

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

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

Важно. Будьте внимательными. Принудительная отставка процесса критичной службы Windows может привести к BSOD или перезагрузке операционной системы.

Отройте командную строку с правами правами администратора (иначе будет ошибка access denied) и выполите команду:
sc queryex wuauserv

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

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

taskkill /PID 9168 /F

завершить зависшую службу из командной строки с помощью утилиты taskkill

SUCCESS: The process with PID 9168 has been terminated.

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

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

TASKKILL /F /FI “SERVICES eq wuauserv”

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

taskkill /F /FI “status eq not responding”

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

Также вы можете использовать утилиту taskkill для принудительной остановки зависших служб на удаленном компьютере:

TASKKILL /S CORPFS01 /F /FI “SERVICES eq wuauserv”

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

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

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

poweshell список служб в статусе stop pending

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

$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"
}

powershell скрипт для принудительной остановки всех зависших служб

В новом PowerShell Core 6.x/7.x вместо командлета Get-WmiObject нужно использовать Get-CimInstance. Замените первую команду скрипта на:

$Services = Get-CimInstance -Class win32_service | where-Object state -eq 'stop pending'

Анализ цепочки ожидания зависшего приложения с помощью ResMon

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

  1. В окне Монитора ресурсов перейдите на вкладку ЦП (CPU) и найдите процесс зависшей службы;
  2. Выберите пункт Анализ цепочки ожидания (Analyze Wait Chain);resmon анализ цепочки ожидания зависшей службы
  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;procexplorer - задать права на службу
  4. В разрешения службы предоставьте права Full Control для группы администраторов (Administrators). Сохраните изменения;полные права на службу для администратора
  5. Теперь попробуйте завершить процесс службы.

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

Таймаут, в течении которого Service Control Manager ждет ожидания запуска или остановки службы можно изменить через параметр реестра ServicesPipeTimeout. Если служба не запускается в течении указанного таймаута, Windows записывает ошибку в Event Log (Event ID: 7000, 7009, 7011, A timeout was reached 30000 milliseconds). Вы можете увеличить этот таймаут, например до 60 секунд:

reg add HKLM\SYSTEM\CurrentControlSet\Control /v ServicesPipeTimeout /t REG_SZ /d 600000 /f

Это бывает полезным при запуске/остановки тяжелых служб, которые не успевают завершить все процессы быстро (например, MS SQL Server).

служба mssql зависает при запуске

  • Как убавить звук приложения в windows 10
  • Как убить windows через реестр
  • Как убавить звук на компьютере windows
  • Как убавить басы на windows 10
  • Как транслировать экран телефона на компьютер на windows 10