- Команда TASKKILL — завершить процесс.
- Примеры использования TASKKILL.
- Завершение процесса из командной строки
- Завершение процесса по его имени
- Завершение процесса по его PID
- Расширенные условия фильтрации процессов
- Работа с другим компьютером
- Завершение процессов в Windows командой taskkill
- taskkill taskkill
- Синтаксис Syntax
- Параметры Parameters
- Имена фильтров, операторы и значения Filter names, operators, and values
- Комментарии Remarks
- Примеры Examples
Команда TASKKILL — завершить процесс.
Команда TASKKILL используется для завершения процессов по идентификаторам или именам исполняемых файлов на локальной или удаленной системе. Используется в операционных системах Windows XP и старше.
Формат командной строки:
Описание параметров командной строки :
/S система — Имя или IP-адрес удаленного компьютера.
/U [домен\]пользователь — Пользовательский контекст, в котором должна выполняться эта команда.
/P пароль — Пароль для этого пользовательского контекста. Запрашивается, если он не задан.
/FI фильтр — Применение фильтра для выбора набора задач. Разрешение использовать «*». Пример, imagename eq acme*
/PID процесс — Идентификатор процесса, который требуется завершить. Используйте TaskList, чтобы получить PID.
/IM образ — Имя образа процесса, который требуется завершить. Знак подстановки «*» может быть использован для указания всех заданий или имен образов.
/T — Завершение указанного процесса и всех его дочерних процессов.
/F — Принудительное завершение процесса.
/? — Вывод справки по использованию.
Имя фильтра ———— STATUS IMAGENAME MODULES | Допустимые операторы ————— eq, ne eq, ne eq, ne, gt, lt, ge, le eq, ne | Допустимые значения ————————- RUNNING | NOT RESPONDING | UNKNOWN Имя образа Значение PID Номер сессии Время CPU в формате hh:mm:ss. hh — часы, mm — минуты, ss — секунды Использование памяти в КБ Имя пользователя в формате [домен\]пользователь Имя DLL Имя службы Заголовок окна |
  Примечание:
1) Символ ‘*’ для параметра /IM применим только совместно с фильтрами.
2) Завершение удаленных процессов всегда будет принудительным (/F).
3) Фильтры «WINDOWTITLE» и «STATUS» не принимаются во внимание, когда компьютер является удаленным.
Примеры использования TASKKILL.
taskkill /? > taskkill.txt — выдать справку по использованию команды в текстовый файл taskill.txt
TASKKILL /IM notepad.exe — завершить процесс, исполняемым образом которого является notepad.exe . Если таких процессов более одного — то будут завершены все.
taskkill /PID 1234 /T — завершить процесс с идентификатором 1234 и все его дочерние процессы ( /T ) . Одной командой можно завершить несколько процессов, задавая их PID — taskkill /PID 1234 /PID 2345 /PID 800 . Для определения идентификатора процессов используется команда tasklist :
tasklist | find /I «notepad» — отобразить информацию для процессов с именем, содержащим строку notepad . В ответ будет выдано сообщение, например:
notepad.exe        824 Console       1       3 916 КБ
notepad.exe      3004 Console       1      18 812 КБ
Где 824 и 3004 — это идентификаторы процессов PID
TASKKILL /F /FI «PID ge 2000» /FI «WINDOWTITLE eq Arc*» — принудительно (/F) завершить процесс, идентификатор которого больше или равен 2000 и заголовок окна которого , начинается с текста Arc
TASKKILL /F /FI «USERNAME eq NT AUTHORITY\SYSTEM» /IM notepad.exe — принудительно завершить процесс, выполняющийся в контексте учетной записи NT AUTHORITY\SYSTEM и исполняемый файл которого имеет имя notepad.exe
TASKKILL /S 192.168.0.243 /U MyDomain\user /FI «USERNAME ne NT*» /IM * — завершить все процессы, выполняющиеся в контекстах учетных записей, не начинающихся со строки NT на компьютере с IP-адресом 192.168.0.243. При подключении к удаленной системе используется имя пользователя user в домене Mydomain . Пароль не задан и будет запрошен при выполнении команды.
TASKKILL /S SERVER /U Mydomain\User /P UserPass /FI «IMAGENAME eq note*» — завершить все процессы, имя исполняемого файла которых начинается со строки note на удаленном компьютере с именем SERVER .
При завершении процессов как локально, так и удаленно, результат выполнения команды TASKKILL зависит от прав пользователя, в контексте учетной записи которого выполняется команда.
Для использования в многопользовательской конфигурации системы, например на сервере терминалов, вместо команды TASKKILL, удобнее и безопаснее использовать команду TSKILL, адаптированную для завершения процессов в среде конкретных пользователей удаленного рабочего стола (RDP).
Если вы желаете поделиться ссылкой на эту страницу в своей социальной сети, пользуйтесь кнопкой «Поделиться»
Завершение процесса из командной строки
Как должно быть Вам известно, процесс можно запросто завершить, выбрав соответствующий пункт в диспетчере задач. Однако, так же есть возможность завершения нужного процесса через командную строку, с помощью программы taskkill, которая идет по умолчанию с любой операционной системой Windows. Рассмотрим различные примеры применения этой программы.
Завершение процесса по его имени
Данный вариант идеально подходит для ситуаций, когда нужно завершить процесс или группу процессов с одинаковым именем. Делается это следующей командой:
где _ИМЯ_ПРОЦЕССА_ — это имя процесса, например calc.exe. То есть, для завершения процесса программы «Калькулятор», нужно выполнить следующую команду:
Завершение процесса по его PID
Еще процесс можно завершить по его идентификатору в системе — удобно, в том случае, если Вам нужно завершить какой-то определенный процесс, имя которого, к примеру, совпадает с именами других процессов. Получить PID можно выполнив команду tasklist :
Найдя нужный процесс и его PID, можно перейти к его завершению. Делается это так:
где вместо _PID_ должен быть настоящий PID процесса.
Расширенные условия фильтрации процессов
Помимо флагов /IM и /PID, которые отвечают за отбор процессов по имени и PID, соответственно, программа taskkill поддерживает множество других параметров, которые становятся доступны при использовании флага /FI:
- CPUTIME — время CPU
- IMAGENAME — имя образа
- MEMUSAGE — использование памяти в Кбайтах
- MODULES — имя DLL
- PID — значение
- SERVICES — имя службы
- SESSION — номер сессии
- STATUS — статус
- USERNAME — имя пользователя
- WINDOWTITLE — заголовок окна
Так же программа умеет работать со следующими операторами сравнения:
- * — любые символы
- eq — равно
- ge — больше или равно
- gt — больше чем
- le — меньше или равно
- lt — меньше чем
- ne — не равно
Разберем на примерах. Например, нужно закрыть процесс iexplore (наименование процесса браузера Internet Explorer) у пользователя Ivan:
Завершим все процессы пользователя Ivan:
Работа с другим компьютером
Программа taskkill так же умеет работать с другим компьютером — для этого используются три следующих флага:
- /S — имя или адрес удаленного компьютера
- /U — имя пользователя
- /P — пароль пользователя
К примеру, если нужно на компьютере с адресом 192.168.100.1 «убить» процесс notepad.exe, то нужно выполнить следующую команду:
Где, как должно быть понятно 192.168.100.1 — адрес компьютера, user — имя пользователя, 12345678 — пароль.
Если эти действия нужно сделать с компьютером, который находится в одном домене с Вашим текущим пользователем, и он обладает правами администратора (например, он администратор домена), то можно выполнить выше указанную команду без указания конкретного пользователя:
Завершение процессов в Windows командой taskkill
Иногда возникает необходимость вручную завершить процесс, который не отвечает. В большинстве случаев это можно сделать с помощью Диспетчера задач Windows, однако порой ему не удается справиться с вышедшим из под контроля приложением. Мне часто приходилось сталкиваться с этим при попытке завершить процесс Acronis. В такой ситуации я обычно использую более мощный инструмент — команду taskkill.
Чтобы воспользоваться taskkill, нужно открыть окно командной строки. Для этого вызовите окно «Выполнить» (Run) из меню «Пуск» (Start) или воспользуйтесь клавишной комбинацией [Win]+[R] и введите «cmd» (без кавычек) в поле «Открыть» (Open, рис. A).
Использование команды taskkill
Общий синтаксис команды выглядит следующим образом:
Разумеется, для taskkill доступен широкий выбор опций. Перечислю лишь наиболее полезные из них:
• /s КОМПЬЮТЕР, где КОМПЬЮТЕР — это IP или адрес удаленного компьютера. По умолчанию, операция выполняется в локальной системе. Если именно это вас и интересует, данную опцию можно не использовать.
• /u ДОМЕН\ПОЛЬЗОВАТЕЛЬ, где ДОМЕН — это имя домена, а ПОЛЬЗОВАТЕЛЬ — имя пользователя, для которого нужно выполнить команду. Данная опция позволяет запускать taskkill с правами определенной учетной записи или домена.
• /p — обязательно используется в сочетании с опцией /u для указания пароля к учетной записи пользователя.
• /fi — позволяет выполнять команду taskkill с определенными фильтрами.
• /f — принудительно завершает выполнение команды.
• /IM — позволяет использовать имя приложения вместо идентификатора процесса.
Ну и разумеется, одна из самых полезных опций — переключатель для вызова справки (рис. В):
Рисунок B. Вывод справочной информации по команде taskkill при использовании переключателя справки.
Завершение процесса по имени приложения
Проще всего завершить вышедший из-под контроля процесс, воспользовавшись командой taskkill с использованием опции /IM. Выглядеть это будет так:
Здесь ИМЯ_ПРИЛОЖЕНИЯ — это имя процесса, который требуется завершить. К примеру, если Outlook не удается закрыть, можно воспользоваться следующей командой:
Завершение процесса по идентификатора
Если вы не знаете имени процесса, но знаете его идентификатор (PID) — например, 572 — можно воспользоваться следующей командой:
Завершение всех процессов для определенной учетной записи
Существует также возможность завершить все процессы для определенной учетной записи. Это особенно актуально, если совершенно точно известно, что проблема связана с определенной учетной записью, или если пользователь уже вышел из системы, а запущенные им процессы перестали отвечать. В таком случае можно воспользоваться следующей командой:
Здесь имя_пользователя — это имя учетной записи, под которой запущены нежелательные процессы. Обязательно нужно включить в команду опцию USERNAME, чтобы указать соответствующее имя пользователя.
Завершение процессов на удаленном компьютере
Еще одна удобная возможность — завершение процессов в удаленном режиме. Допустим, вы точно знаете, что система не отвечает из-за определенного процесса (возьмем для примера все тот же Outlook). В таком случае можно воспользоваться другим компьютером и выполнить следующую команду:
Здесь IP-АДРЕС — адрес удаленного компьютера (можно использовать и имя хоста, если компьютеры способны распознавать друг друга таким способом), ДОМЕН — имя домена (если требуется), а ПОЛЬЗОВАТЕЛЬ — имя пользователя, под которым был осуществлен вход на удаленный компьютер.
Команда taskkill — весьма мощный и функциональный инструмент, способный избавить от необходимости принудительной перезагрузки компьютера. Умелое использование этой команды в сочетании с Диспетчером задач продлевает время безотказной работы системы и даже позволяет бороться с вирусами, руткитами или троянцами.
taskkill taskkill
Область применения: Windows Server (половина ежегодного канала), Windows Server 2019, Windows Server 2016, Windows Server 2012 R2, Windows Server 2012 Applies to: Windows Server (Semi-Annual Channel), Windows Server 2019, Windows Server 2016, Windows Server 2012 R2, Windows Server 2012
Завершает одну или несколько задач или процессов. Ends one or more tasks or processes. Процессы могут быть завершены по ИДЕНТИФИКАТОРу процесса или имени образа. Processes can be ended by process ID or image name. Команду tasklist можно использовать для определения идентификатора процесса (PID) процесса, который должен быть завершен. You can use the tasklist command command to determine the process ID (PID) for the process to be ended.
Эта команда заменяет средство Kill . This command replaces the kill tool.
Синтаксис Syntax
Параметры Parameters
Параметр Parameter | Описание Description |
---|---|
ключ /s | Указывает имя или IP-адрес удаленного компьютера (не используйте символы обратной косой черты). Specifies the name or IP address of a remote computer (do not use backslashes). По умолчанию это локальный компьютер. The default is the local computer. |
/u \ /u \ | Выполняет команду с разрешениями учетной записи пользователя, заданного или пользователем \ . Runs the command with the account permissions of the user who is specified by or by \ . Параметр /u может быть указан только в том случае, если задано также значение /s . The /u parameter can be specified only if /s is also specified. По умолчанию заданы разрешения пользователя, который в данный момент вошел в систему компьютера, выполняющего команду. The default is the permissions of the user who is currently logged on to the computer that is issuing the command. |
/p |
Имена фильтров, операторы и значения Filter names, operators, and values
Имя фильтра Filter Name | Допустимые операторы Valid Operators | Допустимые значения Valid Value(s) |
---|---|---|
Состояние STATUS | eq, ne eq, ne | RUNNING | NOT RESPONDING | UNKNOWN |
IMAGENAME IMAGENAME | eq, ne eq, ne | Имя образа Image name |
ИД процесса PID | eq, ne, gt, lt, ge, le eq, ne, gt, lt, ge, le | Значение PID PID value |
SESSION SESSION | eq, ne, gt, lt, ge, le eq, ne, gt, lt, ge, le | Номер сеанса Session number |
CPUtime CPUtime | eq, ne, gt, lt, ge, le eq, ne, gt, lt, ge, le | Время ЦП в формате чч: мм: СС, где mm и SS находятся в диапазоне от 0 до 59, а чч — любое число без знака CPU time in the format HH:MM:SS, where MM and SS are between 0 and 59 and HH is any unsigned number |
мемусаже MEMUSAGE | eq, ne, gt, lt, ge, le eq, ne, gt, lt, ge, le | Использование памяти в КБ Memory usage in KB |
USERNAME USERNAME | eq, ne eq, ne | Любое допустимое имя пользователя ( или ) Any valid user name ( or ) |
Обслуживание SERVICES | eq, ne eq, ne | Имя службы Service name |
WINDOWTITLE WINDOWTITLE | eq, ne eq, ne | Заголовок окна Window title |
МОДУЛЕ MODULES | eq, ne eq, ne | Имя DLL DLL name |
Комментарии Remarks
Фильтры WINDOWTITLE и состояния не поддерживаются, если указана удаленная система. The WINDOWTITLE and STATUS filters aren’t supported when a remote system is specified.
Подстановочный знак ( * ) принимается для */im параметра, только если применяется фильтр. The wildcard character ( * ) is accepted for the */im option, only when a filter is applied.
Завершение удаленного процесса всегда выполняется принудительно независимо от того, задан ли параметр /f . Ending a remote process is always carried out forcefully, regardless whether the /f option is specified.
Указание имени компьютера для фильтра имени узла приводит к завершению работы и остановке всех процессов. Providing a computer name to the hostname filter causes a shutdown, stopping all processes.
Примеры Examples
Чтобы завершить процессы с идентификаторами 1230, 1241 и 1253, введите: To end the processes with process IDs 1230, 1241, and 1253, type:
Чтобы принудительно завершить процесс Notepad.exe если он был запущен системой, введите: To forcefully end the process Notepad.exe if it was started by the system, type:
Чтобы завершить все процессы на удаленном компьютере срвмаин с именем образа, начинающимся с заметки, используя учетные данные для хироплн учетной записи пользователя, введите: To end all processes on the remote computer Srvmain with an image name beginning with note, while using the credentials for the user account Hiropln, type:
Чтобы завершить процесс с ИДЕНТИФИКАТОРом 2134 и любыми его дочерними процессами, но только в том случае, если эти процессы были запущены учетной записью администратора, введите: To end the process with the process ID 2134 and any child processes that it started, but only if those processes were started by the Administrator account, type:
Чтобы завершить все процессы с ИДЕНТИФИКАТОРом процесса, который больше или равен 1000, независимо от имен их образов, введите: To end all processes that have a process ID greater than or equal to 1000, regardless of their image names, type: