Иногда возникает необходимость вручную завершить процесс, который не отвечает. В большинстве случаев это можно сделать с помощью Диспетчера задач Windows, однако порой ему не удается справиться с вышедшим из под контроля приложением. Мне часто приходилось сталкиваться с этим при попытке завершить процесс Acronis. В такой ситуации я обычно использую более мощный инструмент — команду taskkill.
Чтобы воспользоваться taskkill, нужно открыть окно командной строки. Для этого вызовите окно «Выполнить» (Run) из меню «Пуск» (Start) или воспользуйтесь клавишной комбинацией [Win]+[R] и введите «cmd» (без кавычек) в поле «Открыть» (Open, рис. A).
Рисунок A. Откройте окно командной строки.
Использование команды taskkill
Общий синтаксис команды выглядит следующим образом:
taskkill [ОПЦИИ] [ИДЕНТИФИКАТОР ПРОЦЕССА]
Разумеется, для taskkill доступен широкий выбор опций. Перечислю лишь наиболее полезные из них:
• /s КОМПЬЮТЕР, где КОМПЬЮТЕР — это IP или адрес удаленного компьютера. По умолчанию, операция выполняется в локальной системе. Если именно это вас и интересует, данную опцию можно не использовать.
• /u ДОМЕН\ПОЛЬЗОВАТЕЛЬ, где ДОМЕН — это имя домена, а ПОЛЬЗОВАТЕЛЬ — имя пользователя, для которого нужно выполнить команду. Данная опция позволяет запускать taskkill с правами определенной учетной записи или домена.
• /p — обязательно используется в сочетании с опцией /u для указания пароля к учетной записи пользователя.
• /fi — позволяет выполнять команду taskkill с определенными фильтрами.
• /f — принудительно завершает выполнение команды.
• /IM — позволяет использовать имя приложения вместо идентификатора процесса.
Ну и разумеется, одна из самых полезных опций — переключатель для вызова справки (рис. В):
taskkill /?
Рисунок B. Вывод справочной информации по команде taskkill при использовании переключателя справки.Завершение процесса по имени приложения
Проще всего завершить вышедший из-под контроля процесс, воспользовавшись командой taskkill с использованием опции /IM. Выглядеть это будет так:
taskkill /IM ИМЯ_ПРИЛОЖЕНИЯ
Здесь ИМЯ_ПРИЛОЖЕНИЯ — это имя процесса, который требуется завершить. К примеру, если Outlook не удается закрыть, можно воспользоваться следующей командой:
taskkill /IM outlook.exe
Завершение процесса по идентификатора
Если вы не знаете имени процесса, но знаете его идентификатор (PID) — например, 572 — можно воспользоваться следующей командой:
taskkill /PID 572
Завершение всех процессов для определенной учетной записи
Существует также возможность завершить все процессы для определенной учетной записи. Это особенно актуально, если совершенно точно известно, что проблема связана с определенной учетной записью, или если пользователь уже вышел из системы, а запущенные им процессы перестали отвечать. В таком случае можно воспользоваться следующей командой:
taskkill /F /FI “USERNAME eq имя_пользователя”
Здесь имя_пользователя — это имя учетной записи, под которой запущены нежелательные процессы. Обязательно нужно включить в команду опцию USERNAME, чтобы указать соответствующее имя пользователя.Завершение процессов на удаленном компьютере
Еще одна удобная возможность — завершение процессов в удаленном режиме. Допустим, вы точно знаете, что система не отвечает из-за определенного процесса (возьмем для примера все тот же Outlook). В таком случае можно воспользоваться другим компьютером и выполнить следующую команду:
taskkill /s IP-АДРЕС /u ДОМЕН\ПОЛЬЗОВАТЕЛЬ /IM Outlook.exe
Здесь IP-АДРЕС — адрес удаленного компьютера (можно использовать и имя хоста, если компьютеры способны распознавать друг друга таким способом), ДОМЕН — имя домена (если требуется), а ПОЛЬЗОВАТЕЛЬ — имя пользователя, под которым был осуществлен вход на удаленный компьютер.В заключение
Команда taskkill — весьма мощный и функциональный инструмент, способный избавить от необходимости принудительной перезагрузки компьютера. Умелое использование этой команды в сочетании с Диспетчером задач продлевает время безотказной работы системы и даже позволяет бороться с вирусами, руткитами или троянцами.
Автор: Jack Wallen
Перевод
SVET
Оцените статью: Голосов
Для завершения процессов в Windows можно использовать команду (программу) taskkill, через командирую строку CMD, используя ключи f im. Команда taskkill позволяет закрывать одно или несколько программ как по имени образа, так и по идентификатору процесса (PID) в Windows системах.
На обычных рабочих станциях данная команда не особо востребована, так как можно завершить процесс через диспетчер задач. Хотя, не всегда это получается и в данной ситуации команда Taskkill пригодится, но, это скорее исключение из правил.
В каких ситуациях пригодится программа Taskkill?
В основном, данная команда используется системными администраторами и лично я сталкивался со следующими ситуациями:
- Обновление программ на терминальном сервере – при администрировании терминального сервера большое количество людей может запустить одно и тоже приложение. Но, в большинстве случаев, при обновлении программы её необходимо сначала закрыть, т.е. завершить её процесс. Если клиентов не много, то, можно воспользоваться диспетчером задач, а если их порядка 100, то это уже проблематично. А команда Taskkill позволяет убить все процессы для определенного приложения.
- Автоматический перезапуск программы – как вы знаете не все программы работают идеально и бывает, что они подвисают. А если данная программа должна работать 24 часа в сутки и 7 дней в неделю, то приходится периодически проверять её работоспособность.
Лично я сталкивался со следующей ситуацией: есть интернет магазин, в который данные о товарах выгружаются из 1С-ки. Но, обработчик написан как-то криво, в результате чего обмен подвисает раз в сутки, а то и через каждые 2-3 часа. По этому, появилась необходимость каждый час принудительно перезапускать обработчик, не зависимо от того, подвисла программа или нет.
И так, перейдем к практике.
Синтаксис команды Taskkill
Запустим браузер Google Chrome и попробуем завершить его процесс (Пуск \ Стандартные \ Выполнить \ cmd \ taskkill /? — чтобы посмотреть синтаксис команды)
- /s КОМПЬЮТЕР, где КОМПЬЮТЕР — это IP или адрес удаленного компьютера. По умолчанию, операция выполняется в локальной системе. Если именно это вас и интересует, данную опцию можно не использовать.
- /u ДОМЕН\ПОЛЬЗОВАТЕЛЬ, где ДОМЕН — это имя домена, а ПОЛЬЗОВАТЕЛЬ — имя пользователя, для которого нужно выполнить команду. Данная опция позволяет запускать taskkill с правами определенной учетной записи или домена.
- /p — обязательно используется в сочетании с опцией /u для указания пароля к учетной записи пользователя.
- /fi — позволяет выполнять команду taskkill с определенными фильтрами.
- /f — принудительно завершает выполнение команды.
- /IM — позволяет использовать имя приложения вместо идентификатора процесса.
- /T — завершение дерева процессов.
Теперь нам нужно узнать имя приложения, которое использует данный процесс. Это можно сделать через диспетчер задач (Ctrl+Alt+Del \ Запустить диспетчер задач \ Процессы \ chrome.exe).
Если у вас нет возможности запустить диспетчер задач, допустим, вы подключились к компьютеру удаленно через командную строку, то можно воспользоваться командой tasklist, она так же отображает все процессы.
Завершение процесса через Taskkill /f /im
Taskkill /f /im chrome.exe – принудительно завершить приложение с именем chrome.exe
Chrome завершил работу, однако, возможно появление ошибки «Не удалось завершить процесс, ни один из экземпляров задания не запущен». Данное сообщение появляется из-за того, что эти процессы были связанными и когда завершил работу основной, остальные автоматически завершились.
Теперь запустим Chrome под разными пользователями, чтобы сымитировать работу терминального сервера, для этого запустим под обычным пользователем и под пользователем XP (Chrome \ Shift \ ПКМ \ Запустить от имени другого пользователя \ ОК). Теперь мы видим, что одно и тоже приложение запущено под разными пользователями, повторим команду Taskkill /f /im chrome.exe, чтобы проверить, для всех ли пользователей будет завершен процесс.
Автоматическое завершение процесса через Taskkill
Теперь попробуем сделать автоматический перезапуск приложения, в этом нам поможет планировщик задач (Пуск \ Все программы \ Стандартные \ Служебные \ Планировщик заданий \ Библиотека планировщика \ ПКМ \ Создать папку \ Перезапуск Chrome – в зависимости от вашей цели)
Создаем задачу на запуск (Создать новую задачу \ Запуск \ Выполнять с наивысшими правами \ Триггер: по расписанию, ежедневно, начиная с 11:00, повторять каждый час бесконечно, включено \ Действия: запуск программы, chrome \ ОК)
Создадим задачу на завершение процесса (Создать новую задачу \ Завершение \ Выполнять с наивысшими правами \ Триггер: по расписанию, ежедневно, начиная с 10:59:50, повторять каждый час бесконечно, включено \ Действия: запуск программы, Taskkill, дополнительные аргументы: /f /im chrome.exe \ ОК)
Теперь запустим Chrome и подведем часы к более близкому времени, чтобы увидеть, как Хром завершит работу, а потом запустится заново.
Однако, порой требуется запретить только процесс запущенный под определенным пользователем. Именно такая ситуация у меня возникла с обработчиком 1С, который выгружал данные о товарах на сайт.
Дело в том, что, можно каждый час перезапускать зависшую 1С-ку, но, если завершать все процессы 1С, то все удаленные пользователи будут из неё вылетать, а этого нельзя допустить. По этому, нужно завершать процесс, запущенный из под определенной учетной записи.
Завершение процесса для определенного пользователя
Для этого в дополнительные аргументы добавим следующую строчку /fi “username eq station-4-7” данная команда фильтрует по имени пользователя и завершает процесс только того, чье имя совпадает с указанным в фильтре.
Запустим Chrome под другим пользователем и посмотрим, сработал ли фильтр.
Содержание статьи:
- Способы завершить процесс
- Вариант 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 до сих пор).
*
Дополнения по теме — можно оставить ниже, с помощью формы комментирования.
Всего доброго!
👋
We use the taskkill
command to terminate applications and processes in the Windows command prompt. Running taskkill
is the same as using the End task button in the Windows Task Manager.
With taskkill
, we kill one or more processes based on the process ID (PID) or name (image name). The syntax of this command is as follows:
taskkill /pid PID
taskkill /im name
You can use the tasklist command to find the PID or image name of a Windows process.
The /F
option tells Windows to force kill the process:
taskkill /f /im notepad.exe
Kill a Process by PID
In the following example, we run the taskkill
command to terminate a process with a PID of 1000:
taskkill /f /pid 3688
The multiple processes can be terminated at once, as shown in the following example:
taskkill /pid 3688 /pid 4248 /pid 4258
Kill a Process by Name
To kill a process by its name, we use the /IM
option. In the following example, we run the taskkill
command to terminate the notepad.exe
process:
taskkill /im notepad.exe
The /t
option tells Windows to terminate the specified process and all child processes. In the following example, we force kill Microsoft Edge and its child processes:
taskkill /f /t /im msedge.exe
Command Options
/S | Specifies the IP Address or name of the remote system to connect to. |
/U | Specifies the name of the Windows user under which the command should execute. |
/P | Password for the user. Prompts for input if omitted. |
/FI | This option is to apply filters (see examples below). |
/PID | Specifies the PID of the process to be terminated. |
/IM | Specifies the image name of the process to be terminated. |
/T | Terminates the specified process and its child processes (end all tasks). |
/F | Forcefully kill a process. |
Examples
Terminate a process with a PID of 4000:
taskkill /pid 4000
Terminate spoolsv.exe
(which is the Print Spooler service on Windows):
taskkill /im spoolsv.exe
Using /f
and /t
options to forcefully terminate the entire process tree of the Microsoft Edge browser:
taskkill /f /t /im msedge.exe
Force kill any process that starts with the name note:
taskkill /f /t /im note*
In the following example, we terminate all processes that are not responding by using a filter:
taskkill /f /fi "status eq not responding"
In the above example, eq
stands for equal. You can use the following filters with the /fi
option.
Run taskkill
command on a remote computer:
taskkill /s 192.168.1.100 /u robst /pid 5936
In the above example, the process with PID 5936 will be terminated on a remote computer with an IP address of 192.168.1.100
.
Note that the Windows Firewall must be configured on the remote computer to allow the taskkill
command. Click the link below for instructions on how to do it.
How to allow tasklist and taskkill commands from Windows Firewall
All right, here’s the end of this tutorial. While working on the CMD, you can run taskkill /?
to display the help page, command options, and filters of the tasklist
command.
The PowerShell equivalent to the taskkill
is the Stop-Process
cmdlet. But you can always use taskkill
in PowerShell as well.
Provide feedback
Saved searches
Use saved searches to filter your results more quickly
Sign up