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 можно посмотреть, введя команду с ключом /?
И еще, все манипуляции с процессами необходимо выполнять с правами администратора, для этого командную строку требуется запускать с повышением привилегий.