Как посмотреть процессы через cmd
Перейти к содержимому

Как посмотреть процессы через cmd

  • автор:

query commands

Displays information about processes, sessions, and Remote Desktop Session Host servers. To find out what’s new in the latest version, see What’s New in Remote Desktop Services in Windows Server.

Syntax

query process query session query termserver query user 

Parameters

Parameter Description
query process Displays information about processes running on an Remote Desktop Session Host server.
query session Displays information about sessions on a Remote Desktop Session Host server.
query termserver Displays a list of all Remote Desktop Session Host servers on the network.
query user Displays information about user sessions on a Remote Desktop Session Host server.

Related links

  • Command-Line Syntax Key
  • Remote Desktop Services (Terminal Services) Command Reference

taskkill

Завершает одну или несколько задач или процессов. Процессы можно завершить по идентификатору процесса или имени образа. Команду списка задач можно использовать для определения идентификатора процесса (PID) для завершения процесса.

Эта команда заменяет средство kill .

Синтаксис

taskkill [/s [/u [\] [/p []]]] <[/fi ] [. ] [/pid | /im ]> [/f] [/t] 

Параметры

Параметр Описание
/s

Указывает имя или IP-адрес удаленного компьютера (не используйте обратные очки). По умолчанию используется локальный компьютер.
/U \

Выполняет команду с разрешениями учетной записи пользователя, указанного или указанным пользователем \ . Параметр /u можно указать только в том случае, если также указан /s . Значение по умолчанию — это разрешения пользователя, вошедшего в систему на компьютере, который выдает команду.
/P

Указывает пароль учетной записи пользователя, указанной в параметре /u .
/Fi

Применяет фильтр для выбора набора задач. Можно использовать несколько фильтров или использовать дикий символ карта ( * ) для указания всех задач или имен изображений. Допустимые фильтры перечислены в разделе «Имена фильтров», «Операторы» и «Значения » этой статьи.
/Pid

Указывает идентификатор процесса завершения процесса.
/Im

Указывает имя образа процесса, которое будет завершено. Используйте дикий карта символ ( * ) для указания всех имен изображений.
/f Указывает, что процессы будут принудительно завершены. Этот параметр игнорируется для удаленных процессов; все удаленные процессы принудительно заканчиваются.
/T Завершает указанный процесс и все дочерние процессы, запущенные им.
Фильтрация имен, операторов и значений
Имя фильтра Допустимые операторы Допустимые значения
СТАТУС eq, ne RUNNING | NOT RESPONDING | UNKNOWN
IMAGENAME eq, ne Имя образа
ИД процесса eq, ne, gt, lt, ge, le Значение PID
СЕАНС eq, ne, gt, lt, ge, le Номер сеанса
CPUtime eq, ne, gt, lt, ge, le Время ЦП в формате HH:MM:SS, где MM и SS находятся в диапазоне от 0 до 59, а HH — любое неподписаемое число
MEMUSAGE eq, ne, gt, lt, ge, le Использование памяти в КБ
USERNAME eq, ne Любое допустимое имя пользователя ( или )
СЛУЖБЫ eq, ne Service name
WINDOWTITLE eq, ne Window title
МОДУЛИ eq, ne Имя БИБЛИОТЕКИ DLL

Замечания

  • Фильтры WINDOWTITLE и STATUS не поддерживаются при указании удаленной системы.
  • Для параметра принимается */im дикий карта символ ( * ), только если применяется фильтр.
  • Завершение удаленного процесса всегда выполняется принудительно, независимо от того, указан ли параметр /f .
  • Предоставление имени компьютера фильтру имени узла приводит к завершении работы, остановке всех процессов.

Примеры

Чтобы завершить процессы с идентификаторами процессов 1230, 1241 и 1253, введите:

taskkill /pid 1230 /pid 1241 /pid 1253 

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

taskkill /f /fi "USERNAME eq NT AUTHORITY\SYSTEM" /im notepad.exe 

Чтобы завершить все процессы на удаленном компьютере Srvmain с именем образа, начиная с заметки, при использовании учетных данных для учетной записи пользователя Hiropln введите:

taskkill /s srvmain /u maindom\hiropln /p p@ssW23 /fi "IMAGENAME eq note*" /im * 

Чтобы завершить процесс с идентификатором процесса 2134 и любыми дочерними процессами, которые он запустил, но только если эти процессы были запущены учетной записью Администратор istrator, введите:

taskkill /pid 2134 /t /fi "username eq administrator" 

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

taskkill /f /fi "PID ge 1000" /im * 

Дополнительные ссылки

  • Условные обозначения синтаксиса команд командной строки
  • Команда tasklist

tasklist

Displays a list of currently running processes on the local computer or on a remote computer. Tasklist replaces the tlist tool.

This command replaces the tlist tool.

Syntax

tasklist [/s [/u [\] [/p ]]] [] [/fo ] [/nh] [/fi [/fi [ . ]]] 

Parameters

Parameter Description
/s

Specifies the name or IP address of a remote computer (do not use backslashes). The default is the local computer.
/u \

Runs the command with the account permissions of the user who is specified by or by \ . 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

Specifies the password of the user account that is specified in the /u parameter.
/m

Lists all tasks with DLL modules loaded that match the given pattern name. If the module name is not specified, this option displays all modules loaded by each task.
svc Lists all the service information for each process without truncation. Valid when the /fo parameter is set to table.
/v Displays verbose task information in the output. For complete verbose output without truncation, use /v and /svc together.
/fo

Specifies the format to use for the output. Valid values are table, list, and csv. The default format for output is table.
/nh Suppresses column headers in the output. Valid when the /fo parameter is set to table or csv.
/fi

Specifies the types of processes to include in or exclude from the query. You can use more than one filter or use the wildcard character ( \ ) to specify all tasks or image names. The valid filters are listed in the Filter names, operators, and values section of this article.
/? Displays help at the command prompt.
Filter names, operators, and values
Filter Name Valid Operators Valid Value(s)
STATUS eq, ne RUNNING | NOT RESPONDING | UNKNOWN . This filter isn’t supported if you specify a remote system.
IMAGENAME eq, ne Image name
PID eq, ne, gt, lt, ge, le PID value
SESSION eq, ne, gt, lt, ge, le Session number
SESSIONNAME eq, ne Session name
CPUtime eq, ne, gt, lt, ge, le 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 Memory usage in KB
USERNAME eq, ne Any valid user name ( or )
SERVICES eq, ne Service name
WINDOWTITLE eq, ne Window title. This filter isn’t supported if you specify a remote system.
MODULES eq, ne DLL name

Examples

To list all tasks with a process ID greater than 1000, and display them in csv format, type:

tasklist /v /fi "PID gt 1000" /fo csv 

To list the system processes that are currently running, type:

tasklist /fi "USERNAME ne NT AUTHORITY\SYSTEM" /fi "STATUS eq running" 

To list detailed information for all processes that are currently running, type:

tasklist /v /fi "STATUS eq running" 

To list all the service information for processes on the remote computer srvmain, which has a DLL name beginning with ntdll, type:

tasklist /s srvmain /svc /fi "MODULES eq ntdll*" 

To list the processes on the remote computer srvmain, using the credentials of your currently logged-on user account, type:

tasklist /s srvmain 

To list the processes on the remote computer srvmain, using the credentials of the user account Hiropln, type:

tasklist /s srvmain /u maindom\hiropln /p p@ssW23 

Related links

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

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

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

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

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

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

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

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

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

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

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

Get-Process | where | sort cpu

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

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

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

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

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

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

Get-Process | where | 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 может выводить информацию о процессах по имени или ID, например командой pslist notepad -x выведем подробную информацию о нашем «многострадальном» блокноте.

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

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

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

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

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *