Как завершить процесс в Диспетчере задач Windows, если он не завершается. Завершение процессов в Windows командой taskkill Не могу завершить процесс

Как завершить процесс службы Windows, зависшей в статусе stopping (остановка)? Думаю, большинство администраторов Windows, встречалось с ситуациями, когда при попытке остановить (перезапустить) службу из графического интерфейса консоли управления службами (Services.msc), служба зависает намертво и висит в статусе 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 letter.

Завершение зависшей службы с помощью TaskKill

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

Довольно часто эта проблема случается , особенно после установки обновлений на Windows Server 2012 R2 / 2008 R2.

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

В командной строке с правами администратора (это важно, иначе будет ошибка access denied):
sc queryex wuauserv

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

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

taskkill /PID 816 /F

SUCCESS: The process with PID 816 has been terminated.

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

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

TASKKILL /F /FI “SERVICES eq wuauserv”

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

taskkill /F /FI “status eq not responding”

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

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

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

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

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

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

Анализ зависших процессов с помощью Resmon

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


Process Explorer: Завершение зависшего процесса из-под SYSTEM

Некоторые процессы, запущенные из-под SYSTEM, не может завершить даже локальный администратора сервера. Дело в том, что у него просто может не быть прав на некоторые процессы или службы. Чтобы завершить такие процесс (службы), вам необходимо предоставить локальной группе Administrators права на службу (процесс), а потом завершить их. Для этого нам понадобятся две утилиты: psexec.exe и ProcessExplorer (доступны на сайте Microsoft).


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

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

В основном, данная команда используется системными администраторами и лично я сталкивался со следующими ситуациями:

1) Обновление программ на терминальном сервере – при администрировании терминального сервера большое количество людей может запустить одно и тоже приложение. Но, в большинстве случаев, при обновлении программы её необходимо сначала закрыть, т.е. завершить её процесс. Если клиентов не много, то, можно воспользоваться диспетчером задач, а если их порядка 100, то это уже проблематично. А команда Taskkill позволяет убить все процессы для определенного приложения.

2) Автоматический перезапуск программы – как вы знаете не все программы работают идеально и бывает, что они подвисают. А если данная программа должна работать 24 часа в сутки и 7 дней в неделю, то приходится периодически проверять её работоспособность.

Лично я сталкивался со следующей ситуацией: есть интернет магазин, в который данные о товарах выгружаются из 1С-ки. Но, обработчик написан как-то криво, в результате чего обмен подвисает раз в сутки, а то и через каждые 2-3 часа. По этому, появилась необходимость каждый час принудительно перезапускать обработчик, не зависимо от того, подвисла программа или нет.

И так, перейдем к практике.

Запустим браузер Google Chrome и попробуем завершить его процесс (Пуск \ Стандартные \ Выполнить \ cmd \ taskkill /? - чтобы посмотреть синтаксис команды)

/s КОМПЬЮТЕР, где КОМПЬЮТЕР - это IP или адрес удаленного компьютера. По умолчанию, операция выполняется в локальной системе. Если именно это вас и интересует, данную опцию можно не использовать.

/u ДОМЕН\ПОЛЬЗОВАТЕЛЬ , где ДОМЕН - это имя домена, а ПОЛЬЗОВАТЕЛЬ - имя пользователя, для которого нужно выполнить команду. Данная опция позволяет запускать taskkill с правами определенной учетной записи или домена.

/p - обязательно используется в сочетании с опцией /u для указания пароля к учетной записи пользователя.

/fi - позволяет выполнять команду taskkill с определенными фильтрами.

/f - принудительно завершает выполнение команды.

/IM - позволяет использовать имя приложения вместо идентификатора процесса.

/T - завершение дерева процессов.

Теперь нам нужно узнать имя приложения, которое использует данный процесс. Это можно сделать через диспетчер задач (Ctrl + Alt + Del \ Запустить диспетчер задач \ Процессы \ chrome . exe ).

Если у вас нет возможности запустить диспетчер задач, допустим, вы подключились к компьютеру удаленно через командную строку, то можно воспользоваться командой tasklist , она так же отображает все процессы.

Taskkill / f / im chrome . exe – принудительно завершить приложение с именем chrome.exe

Chrome завершил работу, но появились ошибки «Не удалось завершить процесс, ни один из экземпляров задания не запущен». Данное сообщение появляется из-за того, что эти процессы были связанными и когда завершил работу основной, остальные автоматически завершились.

Теперь запустим Chrome под разными пользователями, чтобы сымитировать работу терминального сервера, для этого запустим под обычным пользователем и под пользователем XP (Chrome \ Shift \ ПКМ \ Запустить от имени другого пользователя \ ОК ). Теперь мы видим, что одно и тоже приложение запущено под разными пользователями, повторим команду Taskkill / f / im chrome . exe , чтобы проверить, для всех ли пользователей будет завершен процесс.

Теперь попробуем сделать автоматический перезапуск приложения, в этом нам поможет планировщик задач (Пуск \ Все программы \ Стандартные \ Служебные \ Планировщик заданий \ Библиотека планировщика \ ПКМ \ Создать папку \ Перезапуск Chrome – в зависимости от вашей цели )

Создаем задачу на запуск (Создать новую задачу \ Запуск \ Выполнять с наивысшими правами \ Триггер: по расписанию, ежедневно, начиная с 11:00, повторять каждый час бесконечно, включено \ Действия: запуск программы, chrome \ ОК )

Создадим задачу на завершение процесса (Создать новую задачу \ Завершение \ Выполнять с наивысшими правами \ Триггер: по расписанию, ежедневно, начиная с 10:59:50, повторять каждый час бесконечно, включено \ Действия: запуск программы, Taskkill , дополнительные аргументы: / f / im chrome . exe \ ОК )

Теперь запустим Chrome и подведем часы к более близкому времени, чтобы увидеть, как Хром завершит работу, а потом запустится заново.

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

Дело в том, что, можно каждый час перезапускать зависшую 1С-ку, но, если завершать все процессы 1С, то все удаленные пользователи будут из неё вылетать, а этого нельзя допустить. По этому, нужно завершать процесс, запущенный из под определенной учетной записи.

Для этого в дополнительные аргументы добавим следующую строчку / fi username eq station -4-7” данная команда фильтрует по имени пользователя и завершает процесс только того, чье имя совпадает с указанным в фильтре.

Запустим Chrome под другим пользователем и посмотрим, сработал ли фильтр.

Команда Taskkill завершает одно или несколько заданий или процессов в операционной системе Windows. Скажу Вам из своего опыта - это очень полезная команда Cmd! Процессы могут быть уничтожены по кодоу процесса или имени образа. Лично я использую команду для завершения дерева процессов на серверах - одной командной можно завершить 100-ни зависших процессов, это очень удобно.

Совет - для просмотра текущих процессов системы (узнать pid процеесов) в командной строке использую команду TASKLIST .

Синтаксис и параметры команды TASKKILL

taskkill ]] |

  • /s компьютер - Указывает имя или IP-адрес удаленного компьютера (не используйте обратную косую черту). По умолчанию используется локальный компьютер.
  • /u домен\пользователь - Выполнение команды с разрешениями учетной записи пользователя, который указан как пользователь или домен\пользователь. По умолчанию используются разрешения текущего вошедшего пользователя компьютера, с которого поступила эта команда.
  • /p пароль - Определяет пароль учетной записи пользователя, заданной параметром /u.
  • /fi имя_фильтра - Применение фильтра для выбора набора задач.
  • /pid код_процесса - Указывает код процесса, который необходимо завершить.
  • /im имя_образа - Указывает имя образа процесса, который необходимо завершить. Используйте подстановочный знак (*) для указания всех имен образа.
  • /f - Указывает, что процесс(ы) должен быть принудительно завершен. Этот параметр не действует для удаленных процессов, все удаленные процессы завершаются принудительно.
  • /t - Задает завершение всех дочерних процессов вместе с родительским, такое действие обычно известно как уничтожение дерева.
  • /? - Отображает справку в командной строке.

Примеры команды TASKKILL

  • taskkill /s comp1 /f /im notepad.exe
  • taskkill /s comp1 /u teplosnab\ivanov /p p@ssW23 /im *
  • taskkill /s comp1 /u teplosnab\ivanov /fi "USERNAME ne NT*" /im *
  • taskkill /f /fi "PID ge 1000" /im *
  • taskkill /pid 1230 /pid 1241 /pid 1253
  • taskkill /f /fi "USERNAME eq NT AUTHORITY\SYSTEM" /im notepad.exe

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

Как определить, что программа зависла

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

Как правило, если приложение зависло, оно перестает отвечать на действия пользователя, курсор превращается или в песочные часы, или в небольшой круг (в зависимости от операционной системы), а в заголовке приложения будет надпись "Не отвечает". При этом все попытки завершения работы с программой обычным путем (нажатием на крестик в правом верхнем углу экрана) не дают результатов. Также при нажатии на рабочую область программы экран "покрывается туманом". Все это и есть признаки зависания. Как закрыть программу, если она не закрывается? Лучшие советы и рекомендации будут представлены далее.

Ожидание

Первый совет - немного подождать. Не стоит забывать, что компьютер имеет определенную мощность. При загрузке процессора и оперативной памяти скорость работы ОС снижается. И на обработку операции требуется больше времени.

Соответственно, придется немного подождать. При долгом ответе компьютера на действия, выполняемые в программе, наблюдаются все признаки ее зависания. Срок ожидания не должен превышать 5-10 минут. Если по истечении этого времени никаких ответов на действия пользователя нет, можно приступать к иным способам выключения.

Способ 1: горячие клавиши

Итак, выяснилось, что программа не отвечает. Как закрыть зависшую программу? Если ожидание не дает результатов, пользователь должен выбрать тот или иной план действий. Можно понажимать на некоторые клавиши на клавиатуре, а также на их сочетание.

При зависании программы предлагается нажать на:

  • Ctrl + W.
  • Alt + F4.

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

Способ 2: через меню

Как закрыть программу, если она не закрывается? Следующий прием работает чаще, чем сочетание клавиш. Пользователи используют его на практике с заметным успехом. Чтобы закрыть зависшее приложение, можно вызвать меню действий с программой, а затем выбрать там соответствующую функцию.

Для этого нужно:

  1. Навести курсор на окно программы на панели задач.
  2. Нажать по соответствующему приложению правой кнопкой мышки.
  3. В появившемся меню выбрать "Закрыть окно". Если система выдаст какое-то предупреждение, согласиться с ним.
  4. Подождать некоторое время.

Как правило, после проделанных действий программа закрывается самостоятельно через 10-15 секунд. Если данный способ не помог, не нужно паниковать. Можно попробовать воспользоваться иными методами. К счастью, в Windows предусмотрено довольно много способов закрытия приложений.

Способ 3: диспетчер задач

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

Данный метод является наиболее эффективным. Он позволяет экстренно закрыть практически любую программу. Не работает лишь в некоторых случаях. Поэтому пользователи зачастую отдают предпочтение именно ему.

Как закрыть программу, которая зависла или не отвечает? Для этого требуется:

  1. Нажать на сочетание клавиш Ctrl + Alt + Del. Или подойдет Ctrl + Shift + Esc.
  2. Выбрать в появившемся окне "Диспетчер задач". Если использовалось сочетание с "Шифтом", данный шаг можно пропустить. Соответствующая служба откроется сразу.
  3. Перейти во вкладку "Приложения".
  4. Выбрать зависшую программу и нажать на кнопку "Снять задачу" или "Завершить задачу".
  5. Согласиться с предупреждением операционной системы (если оно выдается), а затем немного подождать.

Как правило, через 5-15 секунд программа будет экстренно закрыта. В некоторых случаях предлагается отправить сообщение об ошибке работы соответствующего приложения. Данный метод можно немного усовершенствовать. Для этого требуется перейти в "Диспетчере задач" во вкладку "Процессы", затем выделить название процесса, который выполняется зависшей программой, и нажать на "Завершить". Так приложение закроется приблизительно в 99 % случаев.

Способ 4: дополнительные программы

В некоторых ситуациях помогает дополнительный софт. Часть процессов завершается принудительно только с их помощью. Не самый распространенный, зато действенный вариант решения проблемы. Как закрыть программу, которая зависла? Пользователь должен скачать и установить себе специальное дополнительное приложение для поиска процессов, выполняемых на компьютере, а затем повторить те же самые действия, что и в "Диспетчере задач". Прекрасно подходит для данной затеи Process Explorer.

Как закрыть программу, если она не закрывается? Пользователю придется:

  1. Скачать себе Process Explorer.
  2. Запустить программу. В установке приложение не нуждается, что очень радует пользователей.
  3. Найти в списке в левой части экрана нужную программу/процесс.
  4. Выделить его, кликнув правой кнопкой по соответствующей строке.
  5. В появившемся меню выполнить операцию "Kill".

После этого приложение будет закрыто в экстренном порядке. Преимуществом использования программы является то, что она отображает процессы и программы, скрытые от стандартного "Диспетчера задач".

Способ 5: радикальный подход

Как можно закрыть программу, если она зависла? Следующий метод является радикальным. Торопиться с ним не нужно, хоть он и считается самым простым. Дело все в том, что для успешного завершения программ, требуется... перезагрузка операционной системы.

Не закрывается программа "Скайп"? Как закрыть ее? Точно так же, как и все иные приложения. Для начала испробовать все перечисленные ранее методы. Если они не помогли, то пользователю не остается ничего, кроме как осуществить перезагрузку компьютера.

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

Способ 6: для ноутбуков

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

Что делать, если все ранее перечисленные способы не помогают, а человек при этом работает не за стационарным компьютером, а за ноутбуком? Или если по ряду причин операционная система отказывается перезагружаться даже после нажатия на Reset?

В таком случае нужно экстренно выключить операционную систему. Но перед этим сохранить все данные на компьютере. Далее нажать на кнопку включение ноутбука (или компьютера) и подержать ее около 5-10 секунд. Операционная система выключится. Далее можно включать компьютер и работать с ним далее.

Недостатком такого метода действий является его опасность для устройства. Частое экстренное выключение ведет к сбоям операционной системы и неисправности "железа". Проблему с зависанием программ такой шаг не решит. Поэтому можно воспользоваться им только в крайнем случае.

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

Среди них чаще всего встречаются следующие рекомендации:

  1. Убедиться в том, что зависла именно программа, а не компьютер. Список действий в том или ином случае будет отличаться. Чаще всего при зависании компьютера помогает экстренная перезагрузка или выключение.
  2. Проверить компьютер на наличие вирусов. При необходимости пролечить его.
  3. Переустановить зависающую программу. Иногда такой метод помогает весьма эффективно.
  4. Не открывать много программ и приложений при работе с проблемным софтом. Чем меньше будет загружен процессор, тем быстрее на нем выполнятся те или иные операции.
  5. Научиться ждать. Как уже было сказано, иногда процессы просто долго обрабатываются. И поэтому начинает казаться, что компьютерная программа зависла.
  6. Перепробовать все перечисленные методы. Перезагрузку и выключение компьютера рекомендуется отложить на крайний случай.

Вот и все. На самом деле нет ничего сложного в завершении зависшей программы. Все перечисленные методы успешно используются пользователями ПК в той или иной степени.

После длительного перерыва, с чем он был связан расскажу чуть ниже, продолжаю ведение блога и сегодня решил продолжить тему по командной строке Windows. Речь пойдёт всего о двух командах, первая позволит отобразить все процессы в cmd.exe, а вторая завершить нужный процесс из cmd.exe. А не вел я блог с 24 августа по 8 сентября по одной единственной причине!

Это связанно с покупкой первой машины. Решил все-таки купить! Выбор упал на ВАЗ 2105. Сама тачка в хорошем состоянии, на ходу, но все-токи был нужен не большой косметический ремонт морды и не много с проводкой повозится пришлось…

Вот и пришлось сменить клавиатуру и мышь на гаечные ключи. А вместо привычных мне сайтов, читал только сайты посвящённые авто тематике!

В общем пост о своей машине я думаю ещё напишу. А теперь стоит вернуться к теме.

Много слов писать я не буду, так как не чего особенного в данной теме нет. Просто, коротко расскажу о двух командах «tasklist » и «taskkill » которые могут пригодится в повседневной работе за компьютером. В подробности вдаваться я не буду…

Как вывести все процессы в консоли.

Для этого дела предусмотрена команда «tasklist » запускаем cmd.exe и пишем данную команду.

Теперь список всех процессов запущенных в системе как на ладони, будет выведен в cmd.exe! Что Важно знать.

Это естественно «Имя образа » проще говоря имя процесса и так называемый PID – Это просто некое число, оно нам пригодится, когда пойдёт речь о команде «taskkill »

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

Как завершить процесс через cmd.exe

Тут-то и понадобится команда «taskkill ». Пользоваться её в локальных условиях довольно просто. Посмотрим как.

У меня запущен процесс «Project1.exe» (Пустое приложение созданное в Delphi специально для этого поста)

После «/IM» пишем имя запущенного процесса, затем как обычно «Enter» и процесс будет убит.

Это был первый способ убить процесс. Рассмотрим и второй. Тут и понадобится нам тот самый «PID»

В моём случаи PID процесса «Project1.exe» такой 5764 У вас он естественно будет другой…

Формируем команду таким образом!

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

Процесс также будет успешно завершён. Если Вам нужно завершить процесс принудительно, то используйте ключик «/ F ».

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