Если какая-то из программ в Windows не отвечает, не закрывается стандартными средствами или вам потребовалось закрыть её принудительно по другим причинам, сделать это можно несколькими способами.
В этой инструкции подробно о способах принудительного закрытия программ в Windows 11 или Windows 10. Большинство из них подойдёт и для предыдущих версий системы.
Диспетчер задач
Один из самых часто используемых способов для принудительного закрытия программ Windows — диспетчер задач. Шаги будут следующими:
- Откройте диспетчер задач, сделать это можно с путем нажатия клавиш Ctrl+Shift+Esc или через меню, открываемое сочетанием клавиш Ctrl+Alt+Delete.
- В списке запущенных программ или на вкладке «Сведения» (в Windows 11) или «Подробности» (в Windows 10) выберите нужную программу или соответствующий ей процесс.
- Нажмите по кнопке «Завершить задачу» (в Windows 11, может быть скрыта за кнопкой с тремя точками в верхней панели) или «Снять задачу» (в Windows 10).
- Подтвердите принудительное завершение выбранного процесса.
Принудительно завершая работу программы следует учитывать несколько нюансов:
- Если в программе велась работа, изменения в файле, над которым вы работали, вероятнее всего будут потеряны.
- Завершение важных системных процессов Windows может приводить к сбоям.
- Некоторые завершаемые процессы могут перезапуститься автоматически: это относится к важным системным процессам, а иногда и к вредоносным программам.
Если ваша задача — проверка работы системы без сторонних сервисов и процессов, вы можете использовать режим чистой загрузки Windows вместо ручного закрытия таких процессов.
Командная строка
Следующий способ — принудительное закрытие программы в командной строке, для этого:
- Запустите командную строку, лучше — от имени администратора (как это сделать).
- Введите команду
taskkill /im имя_файла_программы.exe /f /t
и нажмите Enter.
- Указанный процесс и его дочерние процессы будут закрыты.
Учитывайте: если запущено несколько экземпляров программы с заданным в команде именем, все они будут закрыты.
Если вам требуется закрыть лишь один из экземпляров, используйте следующий вариант команды, заменив ИД_ПРОЦЕССА на соответствующий идентификатор (как узнать ИД процесса или PID):
taskkill /pid ИД_ПРОЦЕССА /f /t
Windows PowerShell или Терминал Windows
Вместо классической командной строки можно использовать Терминал Windows или Windows PowerShell для прекращения работы процесса:
- Запустите Терминал Windows или PowerShell (в Windows 11 и Windows 10 для этого можно использовать контекстное меню по правому клику на кнопке «Пуск»).
- Используйте команду
Stop-Process -Name "имя_программы" -Force
для принудительного закрытия выбранной программы по её имени (а точнее — всех экземпляров этой программы, запущенных на компьютере).
- Используйте команду
Stop-Process -id ИД_ПРОЦЕССА -Force
для завершения процесса с указанным идентификатором.
Дополнительные сведения, которые могут пригодиться при принудительном закрытии программы:
- Для некоторых, не зависших программ, может сработать простое нажатие клавиш Alt+F4 для закрытия (Alt+Fn+F4 на некоторых ноутбуках).
- Если речь идет о полноэкранной программе, и вы не можете попасть в Windows, попробуйте использовать сочетание клавиш Win+D (свернуть все окна) или Alt+Enter (переход из полноэкранного в оконный режим, работает не во всех программах).
В контексте зависших и не отвечающих программ на сайте есть отдельная инструкция: Как завершить зависшую программу в Windows 11 или Windows 10.
Как завершить процесс службы Windows, которая зависла в статусе stopping (остановка) или starting (запуск)? Большинство администраторов Windows встречалось с ситуациями, когда при попытке остановить (перезапустить) службу из графического интерфейса консоли управления службами (
Services.msc
), служба зависает намертво и висит в статусе Stopping (или Starting). При этом все кнопки управления службой в консоли (Start, Stop, Restart) становятся недоступными (серыми). Самый простой способ – перезагрузить сервер, но это не всегда допустимо. Рассмотрим альтернативные способы, позволяющие принудительно завершить зависшую службу или процесс без необходимости перезагрузки Windows.
Если в течении 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.
Или:
[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
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'}
Завершить процесс для всех найденных служб поможет командлет 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 Core 6.x/7.x вместо командлета Get-WmiObject нужно использовать Get-CimInstance. Замените первую команду скрипта на:
$Services = Get-CimInstance -Class win32_service | where-Object state -eq 'stop pending'
Анализ цепочки ожидания зависшего приложения с помощью ResMon
Вы можете определить процесс, из-за которого зависла служба с помощью монитора ресурсов (
resmon.exe
).
- В окне Монитора ресурсов перейдите на вкладку ЦП (CPU) и найдите процесс зависшей службы;
- Выберите пункт Анализ цепочки ожидания (Analyze Wait Chain);
- В новом окне скорее всего вы увидите, что вам процесс ожидает другой процесс. Завершите его. Если выполняется ожидание системного процесса svchost.exe, завершать его не нужно. Попробуйте проанализировать цепочку ожидания для этого процесса. Найдите PID процесса, которого ожидает ваш svchost.exe и завершите его
Process Explorer: Завершение зависшего процесса из-под SYSTEM
Некоторые процессы, запущенные из-под SYSTEM, не может завершить даже локальный администратора сервера. Дело в том, что у него просто может не быть прав на некоторые процессы или службы. Чтобы завершить такие процесс (службы), вам необходимо предоставить локальной группе Administrators права на службу (процесс), а потом завершить их. Для этого нам понадобятся две утилиты: psexec.exe и ProcessExplorer (доступны на сайте Microsoft).
- Чтобы запустить утилиту ProcessExplorer с правами системы (SYSTEM), выполните команду:
PSExec -s -i ProcExp.exe
- В списке процессов Process Explorer найдите процесс зависшей службы и откройте ее свойства;
- Перейдите на вкладку Services, найдите свою службу и нажмите кнопку Permissions;
- В разрешения службы предоставьте права Full Control для группы администраторов (Administrators). Сохраните изменения;
- Теперь попробуйте завершить процесс службы.
Обратите внимание, что права на службу и ее процесс выдались временно, до ее перезапуска. Для предоставления постоянных прав на службы познакомьтесь со статьей Права на службы в 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).
Содержание статьи:
- Способы завершить процесс
- Вариант 1: через диспетчер задач
- Вариант 2: с помощью командной строки
- Вариант 3: с помощью спец. приложений
- Вопросы и ответы: 0
Всем здравия!
Время от времени некоторые приложения в Windows могут подвисать, закрываться с ошибками, давать сбои (иногда и вовсе при закрытии окна приложения — сам процесс не завершается и остается в памяти. У меня, например, регулярно такое происходит с uTorrent на домашнем ПК: процесс «utorrent.exe» висит в памяти, а самого окна нет!).
Разумеется, если «такой сбойный» процесс остался в памяти — он может мешать норм. работе: из-за него, возможно, вы не сможете запустить приложение снова; он может загружать ЦП до 50-99%; копирование и открытие файлов может тормозить, идти рывками, и т.п.
В общем, в рамках этой заметки рассмотрим несколько способов, как можно завершать такие процессы (иногда опытные пользовали используют другую аббревиатуру: «Убить процесс»).
*
📌 Важно!
Простая перезагрузка компьютера позволяет «убивать» все текущие процессы… (правда, если есть зависший процесс — то, возможно, понадобиться принудительное завершение работы через кнопку «reset»).
*
Способы завершить процесс
Вариант 1: через диспетчер задач
Клавиши для вызова диспетчера задач: Ctrl+Alt+Del или Ctrl+Shift+Esc
Встроенный в Windows 📌диспетчер задач позволяет просмотреть все запущенные программы (процессы). Чтобы закрыть один из них — во вкладке «Процессы» найдите нужный, сделайте по нему правый клик мыши и в появившемся меню нажмите «Снять задачу».
Диспетчер задач — снять задачу — Windows 11
Кстати, также просмотреть все процессы и закрыть их позволяет вкладка «Пользователи». См. скрин ниже. 👇
Пользователи — снять задачу // Скрин из Windows 11
*
Что делать, если процесс не завершается
- перезагрузить ПК, если это возможно;
- откл. диски, приводы, и др. оборудование, с которым может быть связан процесс (например, тот же uTorrent может подвисать, если вы загружаете информацию на внешний накопитель… И если этот диск переподключить — процесс тут же будет завершен);
- возможно, у вас нет 📌администраторских прав (попробуйте запустить диспетчер задач так: нажать Win+R, ввести команду taskmgr и нажать Ctrl+Shift+Enter);
- воспользуйтесь нижеприведенными вариантами принудительного завершения процессов.
*
Вариант 2: с помощью командной строки
- для начала нужно запустить 📌командную строку от имени администратора (Win+R, команда CMD, и затем нажать Ctrl+Shift+Enter);
- затем рекомендуется ввести команду tasklist для просмотра всех процессов;
tasklist — просмотр всех процессов
- обычно список всех процессов достаточно длинный и работать с ним не очень удобно — поэтому, чтобы найти конкретный процесс я бы порекомендовал попробовать такую команду: tasklist /FI «IMAGENAME eq utor*» (разумеется, вместо «utor*» — укажите часть своего имени процесса. Звездочка тут помогает не указывать полное имя процесса «utorrent.exe», т.к. возможно вы его и не знаете);
tasklist — как просмотреть только процессы с нужным именем
- теперь для принудительного завершения процесса нужно ввести эту команду (например): taskkill /F /IM utorrent.exe (Разумеется, имя процесса у вас будет свое. Кстати, обратите внимание на ключ «/F» — он указывает на принудительное завершение процесса);
Процесс был успешно завершен!
- дополню вышесказанное: завершить процесс можно не только по имени, но и по PID (идентификатору). Например, так: taskkill /F /PID 18756
📌 Важно!
Завершая процесс принудительно — очень вероятно вы не позволите сохраниться данным, кэшу (у того же uTorrent потом придется ждать пере-хеширования всех торрентов в списке). Поэтому делать это лучше тогда, когда другие варианты не сработали…
*
Вариант 3: с помощью спец. приложений
Есть одно довольно удобно приложение, позволяющее просмотреть все процессы в Windows — речь 📌о Process Explorer (обратите внимание, что оно выложено на сайте Microsoft, в установке не нуждается — достаточно просто запустить).
Так вот, сразу же в главном окне можно найти весь список процессов, отсортировать его по имени, нагрузке на ЦП, память и т.п. Чтобы завершить один из процессов — просто сделайте по нему правый клик мышкой, а затем выберите в меню «Kill Process» (см. скрин ниже). 👇
Удобно?! 👌
Kill Process (убить процесс) — утилита Process Explorer
Кстати, у Process Explorer есть аналог — утилита Process Hacker 2 (не смотрите не название, для текущей нашей задачи она ничем не отличается от Process Explorer. Правда, давненько не обновлялась, но работает в Windows 11 до сих пор).
*
Дополнения по теме — можно оставить ниже, с помощью формы комментирования.
Всего доброго!
👋
Если в Windows перестал отвечать какой-то процесс, его можно завершить в принудительном режиме через Диспетчер задач. А теперь давайте представим, что таких зависших процессов оказалось несколько. Пожалуй, было бы неплохо завершить их всех разом, но такой возможности Диспетчер задач не предоставляет. Сделать это можно с помощью команды taskkill со специальным параметром сортировки FI.
А чтобы каждый раз для ее выполнения не вызывать командную строку или окошко «Выполнить», лучше всего создать отдельный «убийственный» ярлык или интегрировать команду в контекстное меню Проводника. Давайте же посмотрим, как это реализовать. Создайте на рабочем столе или в другом месте пустой ярлык и вставьте в поле расположения объекта такую команду:
taskkill.exe /F /FI «status eq NOT RESPONDING»
Taskkill.exe – это команда завершения процесса, ключ F указывает, что процесс должен быть завершен принудительно, ключ FI задает фильтр, в данном примере завершены должны быть все процессы, имеющие статус «не отвечает». Сохраните ярлык, дав ему подходящее имя и сменив иконку.
Как вариант, вместо ярлыка команду завершения не отвечающих процессов можно добавить в контекстное меню Проводника. Скачайте по ссылке yadi.sk/d/143vRW253FTaUs архив с твиками реестра, распакуйте его и выполните слияние файла Add kill not responding tasks.reg.
Теперь, если вы кликните по рабочему столу ПКМ, то увидите, что в меню у вас появилась новый пункт «Завершить все зависшие процессы».
Она выполняет те же задачи, что и ярлык, с той лишь разницей, что открывшееся окно командной строки при завершении не отвечающих процессов, возможно, придется закрыть вручную.
И еще один нюанс. При использовании ярлыка не исключен перезапуск Проводника, учитывайте это, когда будете завершать работу зависших приложений.
Время от времени каждый сталкивается с нехваткой ресурсов на своём устройстве, из-за чего открытые программы зависают. Стандартные средства Windows по завершению зависших процессов не так идеальны, как хотелось бы: кнопки в окне «Программа не отвечает» иногда не работают, а единственная оставшаяся надежда, диспетчер задач, иногда зависает вместе со всем остальным ПО.
В таких случаях вам может помочь командная строка Windows, которая умеет закрывать различные процессы. В этой статье мы рассмотрим, как с её помощью закрывать зависшие приложения.
Более продвинутые пользователи могут воспользоваться более гибкой настройкой. Разработчики Windows предусмотрели множество параметров — статус программ, которые нужно принудительно закрыть, потребление ими оперативной памяти или использование тех или иных системных библиотек. Полный список можно найти на TechNet.
Как закрыть все зависшие программы в Windows 10
- Нажмите Win + R.
- Введите следующую команду:
taskkill.exe /F /FI «status eq NOT RESPONDING»
- Нажмите Enter.
Все зависшие программы будут принудительно закрыты.
Как создать ярлык для закрытия всех зависших программ
- Кликните по рабочему столу правой клавишей мыши.
- Выберите пункт Создать, затем Ярлык.
- В строку расположения объекта введите следующую команду, после чего нажмите Далее:
taskkill.exe /F /FI «status eq NOT RESPONDING» - Дайте ярлыку любое комфортное для вас название и нажмите Готово.
- Чтобы закрепить ярлык на панели задач, просто передвиньте его туда мышью.
Если зависла графическая оболочка Windows, тогда ярлык не поможет.
Как добавить системное сочетание клавиш для закрытия зависших программ
Это должно помочь, если зависнет даже процесс Windows Explorer, который отвечает за часть графической оболочки Windows.
- Нажмите Win + R.
- Введите следующую команду и нажмите Enter:
shell:Start menu - Скопируйте созданный ранее ярлык для закрытия всех зависших программ в открывшуюся папку.
- Нажмите по нему правой клавишей мыши и выберите пункт Свойства.
- Кликните на поле Быстрый вызов и зажмите на клавиатуре клавиши, которые хотите назначить в качестве сочетания.
- Нажмите Применить.
Что делать, если зависла панель задач в Windows 10
В случае критических сбоев может перестать работать даже панель задач. Чтобы попытаться восстановить её без перезагрузки, сделайте следующее:
- Нажмите Win + R.
- Введите следующую команду:
taskkill /IM explorer.exe /F & explorer.exe - Нажмите Enter.
- Если вы хотите создать ярлык для этой команды или добавить системное сочетание клавиш, инструкции будут абсолютно аналогичными закрытию всех зависших приложений.
Таким образом вы узнали, как можно остановить все зависшие процессы буквально нажатием нескольких кнопок на клавиатуре.