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).

Если какая-то из программ в 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 можно использовать команду (программу) taskkill, через командирую строку CMD, используя ключи f im. Команда taskkill позволяет закрывать одно или несколько программ как по имени образа, так и по идентификатору процесса (PID) в Windows системах.

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

В каких ситуациях пригодится программа Taskkill?

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

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

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

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

Синтаксис команды Taskkill

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

  • /s КОМПЬЮТЕР, где КОМПЬЮТЕР — это IP или адрес удаленного компьютера. По умолчанию, операция выполняется в локальной системе. Если именно это вас и интересует, данную опцию можно не использовать.
  • /u ДОМЕН\ПОЛЬЗОВАТЕЛЬ, где ДОМЕН — это имя домена, а ПОЛЬЗОВАТЕЛЬ — имя пользователя, для которого нужно выполнить команду. Данная опция позволяет запускать taskkill с правами определенной учетной записи или домена.
  • /p — обязательно используется в сочетании с опцией /u для указания пароля к учетной записи пользователя.
  • /fi — позволяет выполнять команду taskkill с определенными фильтрами.
  • /f — принудительно завершает выполнение команды.
  • /IM — позволяет использовать имя приложения вместо идентификатора процесса.
  • /T — завершение дерева процессов.

Taskkill - завершение процесса из командной строки cmd

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

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

Завершение процесса через Taskkill /f /im

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

Taskkill - завершение процесса из командной строки cmd

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

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

Автоматическое завершение процесса через Taskkill

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

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

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

Taskkill - завершение процесса из командной строки cmd

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

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

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

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

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

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

We can kill a process from GUI using Task manager. If you want to do the same from command line., then taskkill is the command you are looking for. This command has got options to kill a task/process either by using the process id or by the image file name.

Kill a process using image name:

We can kill all the processes running a specific executable using the below command.

taskkill /IM executablename

Example:
Kill all processes running mspaint.exe:

c:\>taskkill /IM mspaint.exe
SUCCESS: Sent termination signal to the process "mspaint.exe" with PID 1972.

Kill a process forcibly

In some cases, we need to forcibly kill applications. For example, if we try to to kill Internet explorer with multiple tabs open, tasklist command would ask the user for confirmation. We would need to add /F flag to kill IE without asking for any user confirmation.

taskkill /F /IM iexplore.exe

/F : to forcibly kill the process. If not used, in the above case it will prompt the user if the opened pages in tabs need to be saved.

To kill Windows explorer, the following command would work

C:\>taskkill /F /IM explorer.exe
SUCCESS: The process "explorer.exe" with PID 2432 has been terminated.

The above command would make all GUI windows disappear. You can restart explorer by running ‘explorer’ from cmd.

C:\>explorer

Not using /F option, would send a terminate signal. In Windows 7, this throws up a shutdown dialog to the user.

C:\>taskkill /IM explorer.exe
SUCCESS: Sent termination signal to the process "explorer.exe" with PID 2432.
C:\>

Kill a process with process id:

We can use below command to kill a process using process id(pid).

taskkill /PID  processId

Example:
Kill a process with pid 1234.

taskkill /PID 1234

Kill processes consuming high amount of memory

taskkill /FI "memusage gt value"

For example, to kill processes consuming more than 100 MB memory, we can run the below command

taskkill /FI "memusage gt 102400"

More examples

Sometimes applications get into hung state when they are overloaded or if the system is running with low available memory. When we can’t get the application to usable state, and closing the application does not work, what we usually tend to do is kill the task/process. This can be simply done using taskkill command.

To kill Chrome browser from CMD

Taskkill /F /IM Chrome.exe

Kill Chromedirver from command line

Taskkill /F /IM Chromedriver.exe

To kill firefox browser application

taskkill /F /IM firefox.exe

To kill MS Word application(Don’t do this if you haven’t saved your work)

taskkill /F /IM WinWord.exe

Sometimes, the command window itself might not be responding. You can open a new command window and kill all the command windows

taskkill /F /IM cmd.exe

This even kills the current command window from which you have triggered the command.

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.

using the tasklist command to find the PID or image name of a process

Using the tasklist command to find the PID of a 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
taskkill command

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.

taskkill filters

Taskkill Filters

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.

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

0 комментариев
Старые
Новые Популярные
Межтекстовые Отзывы
Посмотреть все комментарии
  • Лучший офлайн переводчик для windows
  • Как установить wsl2 на windows 11
  • Полный сброс всех сетевых настроек windows 10
  • Windows 10 встроенный punto switcher
  • Установить windows 8 beta