MS Windows: Как убить процесс из командной строки | ProfHelp

Ms windows: как убить процесс из командной строки | profhelp

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

Для тех пользователей, кому нужно убить процесс из командной строки – написана эта инструкция.

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

Открываем Меню Пуск (Start orb)Все программы (All Programs)Стандартные (Accessories) – Нажимаем правой кнопкой мыши Командная строка (Command Prompt). – В открывшемся меню выбираем Запустить от имени Администратора.

Если по какой-либо причине вы хотите посмотреть список запущенных процессов в Диспетчере задач – запускается он через нажатие комбинации клавиш Ctrl Alt Esc, или через нажатие правой кнопки мыши на панели задач и выбор в контекстном меню Запустить диспетчер задач (Windows 7), или Диспетчер задач (Windows XP).

После того, как вам стало известно имя процесса, выполняем команду tskill:

tskill chrome

Если вы уже имеете опыт работы с PowerShell, команда Get-Process позволит получить список всех процессов:

Следующая команда убьет все процессы, соответствующие маске notepad*

Get-Process -Name notepad* | Stop-Process

Вот и все. Если есть вопросы или дополнения – пишите в комментах.

Используя powershell

Чтобы просмотреть список запущенных процессов, выполните следующую команду:

Get-Process

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

Stop-Process -Name "ProcessName" -Force

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

Stop-Process -ID PID -Force

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

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

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

:/>  Меню Пуск Windows 10 сделать как в 7 – инструкция |

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

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

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

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

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

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

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

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

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

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

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

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

Управление процессами из командной строки

Способов управлять процессами в Windows предостаточно, и командная строка занимает в них далеко не первое место. Однако иногда бывают ситуации, когда все остальные инструменты кроме командной строки недоступны, например некоторые вредоносные программы могут блокировать запуск Task Manager и подобных ему программ. Да и просто для общего развития полезно знать способы управления компьютером из командной строки.

Для управления процессами в командной строке есть две утилиты — tasklist и taskkill. Первая показывает список процессов на локальном или удаленном компьютере, вторая позволяет их завершить. Попробуем …

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

команда tasklist

По умолчанию информация выводится в виде таблицы, однако ключ /fo позволяет задать вывод в виде списка или в формате CSV, а ключ /v  показывает более подробную информацию о процессах, например команда tasklist /v /fo list выведет подробное описание всех процессов в виде списка.

:/>  Запуск powershell для использования sql параллельно

команда tasklist

Список получится довольно большой, поэтому попробуем уточнить запрос.  Для этого используем ключ /fi , который позволяет использовать фильтры для вывода данных, например команда tasklist /fi ″username eq user″ /fi ″memusage le 40000″ выводит список процессов пользователя user, которые потребляют не больше 40Мб памяти.

команда tasklist

Найдя процессы, которые необходимо завершить, воспользуемся командой taskkill. Завершать процессы можно по имени, идентификатору процесса (PID) или задав условия с помощью фильтров. Для примера запустим несколько экземпляров блокнота (notepad.exe) и попробуем завершить его разными способами.

команда taskkill

Ключ /f завершает процесс принудительно, а /t завершает все дочерние процессы.

Полную справку по командам tasklist и taskkill можно получить, введя их с ключом /?

Теперь пустим в ход тяжелую артиллериюPowerShell. Его можно запустить не выходя из командной строки. Для получения списка процессов используем командлет Get-Process.

командлет Get-Process

Чтобы не выводить весь список процессов можем воспользоваться командлетом Where-Object, который задает фильтр для выводимой информации. Для примера выведем список процессов, которые загружают процессор и отсортируем их по возрастанию нагрузки с помощью команды:

Get-Process | where {$_.cpu -gt 0} | sort cpu

фильтруем вывод процессов

С помощью PowerShell мы можем получить любую информацию о любом процессе. В качестве примера возьмем процесс cmd и выведем список его свойств командой:

Get-Process -Name cmd | Get-Member -Membertype property

смотрим свойства процесса cmd

Выбираем те свойства, что нам интересны ( в примере имя и ID процесса, путь к файлу, используемые модули и время запуска) и выводим их в виде списка командой:

Get-Process -Name cmd | Format-List name, id, path, modules, starttime

выводим свойства процесса

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

Для завершения процесса в PowerShell есть командлет Stop-Process. Он завершает указанный процесс по его имени или идентификатору. Однако мы поступим по другому и передадим результат выполнения командлета Get-Process по конвейеру:

:/>  Я у мамы инженер или образ windows своими руками

Get-Process | where {$_.name -match ″notepad″}  | Stop-Process

завершаем процесс

Get-Process не может показать процессы на удаленном компьютере, для этого воспользуемся командлетом Get-WmiObject , например посмотрим процессы на удаленном компьютере PC командой:

Get-WmiObject win32_process -computername PC | ft name, processid, description

смотрим процессы на удаленном компьютере

Для боле полного ознакомления с PowerShell можно воспользоваться встроенной справкой, для вызова справки нужно набрать Get-Help ″имя командлета″

Ну и для полноты обзора рассмотрим еще одно средство для управления процессами из командной строки. Это утилиты Pslist и Pskill входящие в состав пакета PSTools от компании Sysinternals.

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

команда pslist

Pslist может выводить информацию о процессах по имени или ID, например командой pslist notepad -x выведем подробную информацию о нашем «многострадальном» блокноте.

подробный вывод информации о процессе

Особенностью утилиты Pslist является режим task-manager. В  этом режиме информация автоматически обновляется, причем можно задать время работы и интервал обновления. Запускается режим ключом -s , например командой tasklist -s -r 10 запускаем режим программу в режиме task-manager с обновлением раз в 10 сек.

task-manager mode

Завершение процесса программой pskill предельно просто, вводим команду и имя (или ID) процесса и все.

завершение процесса

Справку по утилитам Pslist и Pskill можно посмотреть, введя команду с ключом /?

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