Для просмотра списка запущеных процессов используется команду tasklist. Выведу стандартную информацию по команде, tasklist /?:
TASKLIST [/S <система> [/U <имя пользователя> [/P [<пароль>]]]] [/M [<модуль>] | /SVC | /V] [/FI <фильтр>] [/FO <формат>] [/NH] Описание: Отображает список процессов, которые исполняются в текущий момент на локальном или удаленном компьютере. Список параметров: /S <система> Подключаемый удаленный компьютер. /U [<домен>\]<пользователь> Пользовательский контекст, в котором должна выполняться эта команда. /P [<пароль>] Пароль для этого пользовательского контекста. Запрашивает ввод пароля, если он не задан. /M [<модуль>] Отображение всех задач, которые используют данное имя exe/dll. Если имя модуля не указано, то отображаются все загруженные модули. /SVC Отображение служб для каждого процесса. /V Ведение подробного протоколирования. /FI <фильтр> Отображение списка задач, которые отвечают указанному в фильтре критерию. /FO <формат> Описание формата выходного файла. Допустимые значения: "TABLE", "LIST", "CSV". /NH Отключение отображения заголовка "Column Header" в выходных данных. Допустимо для форматов "TABLE" и "CSV". /? Вывод справки по использованию. Фильтры: Имя фильтра Допустимые операторы Допустимые значения ----------- --------------- -------------------------- STATUS eq, ne RUNNING | NOT RESPONDING | UNKNOWN IMAGENAME eq, ne Имя образа PID eq, ne, gt, lt, ge, le Значение PID SESSION eq, ne, gt, lt, ge, le Номер сессии SESSIONNAME eq, ne Имя сессии CPUTIME eq, ne, gt, lt, ge, le Время CPU в формате hh:mm:ss. hh - часы, mm - минуты, ss - секунды MEMUSAGE eq, ne, gt, lt, ge, le Использование памяти в KБ USERNAME eq, ne Имя пользователя в формате [<домен>\<пользователь>] SERVICES eq, ne Имя службы WINDOWTITLE eq, ne Название окна MODULES eq, ne Имя DLL Примечание: Фильтры "WINDOWTITLE" и "STATUS" не поддерживаются при опросе удаленного компьютера. Примеры: TASKLIST TASKLIST /M TASKLIST /V /FO CSV TASKLIST /SVC /FO LIST TASKLIST /M wbem* TASKLIST /S <система> /FO LIST TASKLIST /S <система> /U <домен>\<пользователь> /FO CSV /NH TASKLIST /S <система> /U <пользователь> /P <пароль> /FO TABLE /NH TASKLIST /FI "USERNAME ne NT AUTHORITY\SYSTEM" /FI "STATUS eq running"
Для завершения процессов используется команда taskkill. Выведу стандартную информацию по команде, taskkill /?:
TASKKILL [/S <система> [/U <пользователь> [/P [<пароль>]]]] { [/FI <фильтр>] [/PID <процесс> | /IM <образ>] } [/T] [/F] Описание: Завершает процесс по его ID (PID) или имени образа. Список параметров: /S <система> Подключаемый удаленный компьютер. /U [<домен>\]<пользователь> Пользовательский контекст, в котором должна выполняться эта команда. /P <пароль> Пароль для этого пользовательского контекста. Запрашивает пароль, если он не задан. /FI <фильтр> Применение фильтра для выбора набора задач. Разрешение использовать "*". Пример, imagename eq acme* /PID <процесс> Идентификатор процесса, который требуется завершить. Используйте TaskList, чтобы получить PID. /IM <образ> Имя образа процесса, который требуется завершить. Знак подстановки "*" может быть использован для указания всех заданий или имен образов. /T Завершение указанного процесса и всех его дочерних процессов. /F Принудительное завершение процесса. /? Вывод справки по использованию. Фильтры: Имя фильтра Допустимые операторы Допустимые значения STATUS eq, ne RUNNING | NOT RESPONDING | UNKNOWN IMAGENAME eq, ne Имя образа PID eq, ne, gt, lt, ge, le Значение PID SESSION eq, ne, gt, lt, ge, le Номер сессии CPUTIME eq, ne, gt, lt, ge, le Время CPU в формате hh:mm:ss. hh - часы, mm - минуты, ss - секунды MEMUSAGE eq, ne, gt, lt, ge, le Использование памяти в КБ USERNAME eq, ne Имя пользователя в формате [<домен>\]<пользователь> MODULES eq, ne Имя DLL SERVICES eq, ne Имя службы WINDOWTITLE eq, ne Заголовок окна Примечание 1) Символ '*' для параметра /IM применим только совместно с фильтрами. 2) Завершение удаленных процессов всегда будет принудительным (/F). 3) Фильтры "WINDOWTITLE" и "STATUS" не принимаются во внимание, когда компьютер является удаленным. Примеры: TASKKILL /IM notepad.exe TASKKILL /PID 1230 /PID 1241 /PID 1253 /T TASKKILL /F /IM cmd.exe /T TASKKILL /F /FI "PID ge 1000" /FI "WINDOWTITLE ne untitle*" TASKKILL /F /FI "USERNAME eq NT AUTHORITY\SYSTEM" /IM notepad.exe TASKKILL /S <система> /U <домен>\<пользователь> /FI "USERNAME ne NT*" /IM * TASKKILL /S <система> /U <пользователь> /P <пароль> /FI "IMAGENAME eq note*"
Для завершения процессов можно также использовать команду tskill.
Пример для поиска PID процесса по открытому порту:
netstat -o -n -a | findstr 0.0:80