Windows 10 убить зависший процесс

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

В этой инструкции подробно о способах принудительного закрытия программ в Windows 11 или Windows 10. Большинство из них подойдёт и для предыдущих версий системы.

Диспетчер задач

Один из самых часто используемых способов для принудительного закрытия программ Windows — диспетчер задач. Шаги будут следующими:

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

  3. Нажмите по кнопке «Завершить задачу» (в Windows 11, может быть скрыта за кнопкой с тремя точками в верхней панели) или «Снять задачу» (в Windows 10).
    Принудительное завершение процесса в диспетчере задач Windows 10

  4. Подтвердите принудительное завершение выбранного процесса.
    Подтвердить завершение программы в диспетчере задач

Принудительно завершая работу программы следует учитывать несколько нюансов:

  • Если в программе велась работа, изменения в файле, над которым вы работали, вероятнее всего будут потеряны.
  • Завершение важных системных процессов Windows может приводить к сбоям.
  • Некоторые завершаемые процессы могут перезапуститься автоматически: это относится к важным системным процессам, а иногда и к вредоносным программам.

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

Командная строка

Следующий способ — принудительное закрытие программы в командной строке, для этого:

  1. Запустите командную строку, лучше — от имени администратора (как это сделать).
  2. Введите команду
    taskkill /im имя_файла_программы.exe /f /t

    и нажмите Enter.

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

  3. Указанный процесс и его дочерние процессы будут закрыты.

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

Если вам требуется закрыть лишь один из экземпляров, используйте следующий вариант команды, заменив ИД_ПРОЦЕССА на соответствующий идентификатор (как узнать ИД процесса или PID):

taskkill /pid ИД_ПРОЦЕССА /f /t

Windows PowerShell или Терминал Windows

Вместо классической командной строки можно использовать Терминал Windows или Windows PowerShell для прекращения работы процесса:

  1. Запустите Терминал Windows или PowerShell (в Windows 11 и Windows 10 для этого можно использовать контекстное меню по правому клику на кнопке «Пуск»).
  2. Используйте команду
    Stop-Process -Name "имя_программы" -Force

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

    Принудительное завершение программы в PowerShell

  3. Используйте команду
    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.

служба 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 зависает при запуске

Содержание статьи:

  • Способы завершить процесс
    • Вариант 1: через диспетчер задач
    • Вариант 2: с помощью командной строки
    • Вариант 3: с помощью спец. приложений
  • Вопросы и ответы: 0

Всем здравия!

Время от времени некоторые приложения в Windows могут подвисать, закрываться с ошибками, давать сбои (иногда и вовсе при закрытии окна приложения — сам процесс не завершается и остается в памяти. У меня, например, регулярно такое происходит с uTorrent на домашнем ПК: процесс «utorrent.exe» висит в памяти, а самого окна нет!).

Разумеется, если «такой сбойный» процесс остался в памяти — он может мешать норм. работе: из-за него, возможно, вы не сможете запустить приложение снова; он может загружать ЦП до 50-99%; копирование и открытие файлов может тормозить, идти рывками, и т.п.

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

*

📌 Важно!

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

*

Способы завершить процесс

Вариант 1: через диспетчер задач

Клавиши для вызова диспетчера задач: Ctrl+Alt+Del или Ctrl+Shift+Esc

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

img-Dispetcher-zadach-----snyat-zadachu-----Windows-11.jpg

Диспетчер задач — снять задачу — Windows 11

Кстати, также просмотреть все процессы и закрыть их позволяет вкладка «Пользователи». См. скрин ниже. 👇

img-Polzovateli-----snyat-zadachu.jpg

Пользователи — снять задачу // Скрин из Windows 11

*

Что делать, если процесс не завершается

  1. перезагрузить ПК, если это возможно;
  2. откл. диски, приводы, и др. оборудование, с которым может быть связан процесс (например, тот же uTorrent может подвисать, если вы загружаете информацию на внешний накопитель… И если этот диск переподключить — процесс тут же будет завершен);
  3. возможно, у вас нет 📌администраторских прав (попробуйте запустить диспетчер задач так: нажать Win+R, ввести команду taskmgr и нажать Ctrl+Shift+Enter);
  4. воспользуйтесь нижеприведенными вариантами принудительного завершения процессов.

*

Вариант 2: с помощью командной строки

  1. для начала нужно запустить 📌командную строку от имени администратора (Win+R, команда CMD, и затем нажать Ctrl+Shift+Enter);
  2. затем рекомендуется ввести команду tasklist для просмотра всех процессов;

    img-tasklist-----prosmotr-vseh-prrotsessov.jpg

    tasklist — просмотр всех процессов

  3. обычно список всех процессов достаточно длинный и работать с ним не очень удобно — поэтому, чтобы найти конкретный процесс я бы порекомендовал попробовать такую команду: tasklist /FI «IMAGENAME eq utor*» (разумеется, вместо «utor*» — укажите часть своего имени процесса. Звездочка тут помогает не указывать полное имя процесса «utorrent.exe», т.к. возможно вы его и не знаете);

    img-tasklist-kak-prosmotret-tolko-protsessyi-s-nuzhnyim-imenem.jpg

    tasklist — как просмотреть только процессы с нужным именем

  4. теперь для принудительного завершения процесса нужно ввести эту команду (например): taskkill /F /IM utorrent.exe (Разумеется, имя процесса у вас будет свое. Кстати, обратите внимание на ключ «/F» — он указывает на принудительное завершение процесса);

    img-Protsess-byil-uspeshno-zavershen.jpg

    Процесс был успешно завершен!

  5. дополню вышесказанное: завершить процесс можно не только по имени, но и по PID (идентификатору). Например, так: taskkill /F /PID 18756

📌 Важно!

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

*

Вариант 3: с помощью спец. приложений

Есть одно довольно удобно приложение, позволяющее просмотреть все процессы в Windows — речь 📌о Process Explorer (обратите внимание, что оно выложено на сайте Microsoft, в установке не нуждается — достаточно просто запустить).

Так вот, сразу же в главном окне можно найти весь список процессов, отсортировать его по имени, нагрузке на ЦП, память и т.п. Чтобы завершить один из процессов — просто сделайте по нему правый клик мышкой, а затем выберите в меню «Kill Process» (см. скрин ниже). 👇

Удобно?! 👌

img-Kill-Process-ubit-protsess-utilita-Process-Explorer.jpg

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

Taskkill.exe – это команда завершения процесса, ключ F указывает, что процесс должен быть завершен принудительно, ключ FI задает фильтр, в данном примере завершены должны быть все процессы, имеющие статус «не отвечает». Сохраните ярлык, дав ему подходящее имя и сменив иконку.

Имя ярлыка

Иконка ярлыка

Как вариант, вместо ярлыка команду завершения не отвечающих процессов можно добавить в контекстное меню Проводника. Скачайте по ссылке yadi.sk/d/143vRW253FTaUs архив с твиками реестра, распакуйте его и выполните слияние файла Add kill not responding tasks.reg.

Слияние файла

Теперь, если вы кликните по рабочему столу ПКМ, то увидите, что в меню у вас появилась новый пункт «Завершить все зависшие процессы».

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

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

Окно командной строки

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

Close Program

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

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

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

Как закрыть все зависшие программы в Windows 10

  1. Нажмите Win + R.
  2. Введите следующую команду:
    taskkill.exe /F /FI «status eq NOT RESPONDING»

    notresponding1


  3. Нажмите Enter.

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

Как создать ярлык для закрытия всех зависших программ

  1. Кликните по рабочему столу правой клавишей мыши.
  2. Выберите пункт Создать, затем Ярлык.
    clearclipboard2

  3. В строку расположения объекта введите следующую команду, после чего нажмите Далее:
    taskkill.exe /F /FI «status eq NOT RESPONDING»

    notresponding2

  4. Дайте ярлыку любое комфортное для вас название и нажмите Готово.
    notresponding3

  5. Чтобы закрепить ярлык на панели задач, просто передвиньте его туда мышью.

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

Как добавить системное сочетание клавиш для закрытия зависших программ

Это должно помочь, если зависнет даже процесс Windows Explorer, который отвечает за часть графической оболочки Windows.

  1. Нажмите Win + R.
  2. Введите следующую команду и нажмите Enter:
    shell:Start menu

    notresponding5

  3. Скопируйте созданный ранее ярлык для закрытия всех зависших программ в открывшуюся папку.
    notresponding6

  4. Нажмите по нему правой клавишей мыши и выберите пункт Свойства.
  5. Кликните на поле Быстрый вызов и зажмите на клавиатуре клавиши, которые хотите назначить в качестве сочетания.
  6. Нажмите Применить.

Что делать, если зависла панель задач в Windows 10

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

  1. Нажмите Win + R.
  2. Введите следующую команду:
    taskkill /IM explorer.exe /F & explorer.exe

    notresponding8

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

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

Понравилась статья? Поделить с друзьями:
0 0 голоса
Рейтинг статьи
Подписаться
Уведомить о
guest

0 комментариев
Старые
Новые Популярные
Межтекстовые Отзывы
Посмотреть все комментарии
  • Кряк для windows server 2012
  • Проверить динамики windows 10
  • Как установить кодек hevc windows 10 бесплатно
  • Где находится папка закладки в windows 7
  • Как посмотреть на ноутбуке какой windows стоит