Команда Tasklist
Позволяет выдать полный перечень приложений и служб с кодом (PID) для абсолютно всех реализуемых данным устройством задач. Допускается применение команды на локальном или удаленном компьютере.
tasklist[.exe] [/s устройство] [/u доменюзер [/p код_доступа]] [/fo
/S system | Specifies the remote system to connect to. |
/U [domain]user | Specifies the user context under which the command should execute. |
/P [password] | Specifies the password for the given user context. Prompts for input if omitted. |
/M [module] | Lists all tasks currently using the given exe/dll name. If the module name is not specified all loaded modules are displayed. |
/SVC | Displays services hosted in each process. |
/V | Displays verbose task information. |
/FI filter | Displays a set of tasks that match given criteria specified by the filter. |
/FO format | Specifies the output format. Valid values: «TABLE,» «LIST,» and «CSV.» |
/NH | Specifies that the «Column Header» should not show in the output. Valid only for «TABLE» and «CSV» formats. |
Filters
Filter name | Valid operators | Valid values |
---|---|---|
STATUS | eq, ne | RUNNING | NOT RESPONDING | UNKNOWN |
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 of hh:mm:ss. hh — hours, mm — minutes ss — seconds |
MEMUSAGE | eq, ne, gt, lt, ge, le | Memory usage in KB |
USERNAME | eq, ne | Username in [domain]user format |
SERVICES | eq, ne | Service name |
WINDOWTITLE | eq, ne | Window title |
MODULES | eq, ne | DLL name |
«WINDOWTITLE» and «STATUS» filters are not supported when querying a remote machine.
See the operator definition for full information about operators and eq, ge, gt, le, lt, and ne.
Как управлять процессами на удаленном компьютере?
Иногда возникает вопрос как посмотреть какие процессы запущены на удаленном компьютере пользователя (и завершить процесс на удаленном компьютере) но при этом не ставить ни какое доп ПО и вообще что бы это было быстро и желательно из консоли ) На этот случай «мелкософт» позаботился о сисадминах и дал там волшебную команду tasklist (о всех ее функция можете посмотреть в командной строке tasklist /?)
Но перейдем к делу, а точнее к пошаговой инструкции по пользованию этой удобной утилиты!
- Для начала откроем командную строку Пуск-cmd
- Вводим команду tasklist /s winxp-test
tasklist — команда по выводу удаленных процессов
/s — ключ который говорит что будет подключать удаленный компьютер
winxp-test — имя компьютера на котором нужно вывести процессы - теперь зная имя процесса и его PID мы его принудительно завершим, для примера я взял процесс uTorrent с номер процесса 2720
- Далее запускаем другую команду taskkill /s winxp-test /pid 2720
- Все, радуемся жизни не поднимаю пятую точку со стула )
PS Данная утилиты очень полезна когда требуется быстро решить проблему не тревожа пользователя выяснить что не так на его компе или найти «плохую редиску» в офисе которая запускает ненужно ПО на своем компе.
доп ключи : просмотр процессов на удаленном компьютере, список процессов на удаленном компьютере, процессы замедляющие работу компьютера, завершить процесс на удаленном компьютере, как посмотреть процессы на компьютере.
Управление процессами из командной строки Windows
Существует много способов управлять процессами в Windows, и командная строка cmd занимает в них не первое место. Часто возникают ситуации, когда все инструменты кроме командной строки недоступны, например некоторые вредоносные программы могут блокировать запуск Task Manager и подобных ему программ. Да и просто для общего развития полезно знать способы управления компьютером из командной строки.
Для управления процессами в командной строке есть две утилиты — tasklist и taskkill. Первая показывает список процессов на локальном или удаленном компьютере, вторая позволяет их завершить. Изучим обе консольные утилиты.
Команда tasklist в командной строке выдает список процессов на локальном компьютере.
По умолчанию информация выводится в виде таблицы, однако ключ /fo позволяет задать вывод в виде списка или в формате CSV, а ключ /v показывает более подробную информацию о процессах, например команда tasklist /v /fo list выведет подробное описание всех процессов в виде списка.
Список получится довольно большой, поэтому попробуем уточнить запрос. Для этого используем ключ /fi , который позволяет использовать фильтры для вывода данных, например команда tasklist /fi ″username eq Андрей″ /fi ″memusage le 30000″ выводит список процессов пользователя Андрей, которые потребляют не больше 30Мб памяти.
Найдя процессы, которые необходимо завершить, воспользуемся командой taskkill. Завершать процессы можно по имени, идентификатору процесса (PID) или задав условия с помощью фильтров. Для примера запустим несколько экземпляров блокнота (notepad.exe) и попробуем завершить командой taskkill /im 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 .
данные утилиты не требуют специальной установки, достаточно просто скопировать их на диск. Для запуска нужно зайти в папку с утилитами и ввести в командной строке необходимую команду.
может выводить информацию о процессах по имени или ID, например командой pslist notepad -x выведем подробную информацию о приложении «блокнот».
Особенностью утилиты Pslist является режим task-manager. В этом режиме информация автоматически обновляется, причем можно задать время работы и интервал обновления. Запускается режим ключом -s , например командой tasklist -s -r 5 запускаем режим программу в режиме task-manager с обновлением раз в 5 сек.
Завершение процесса программой pskill просто, вводим команду и имя (или ID) процесса.
Справку по утилитам Pslist и Pskill можно посмотреть, введя команду с ключом /?
Все манипуляции с процессами необходимо выполнять с правами администратора, для этого командную строку требуется запускать с повышением привилегий (правая кнопка мыши — запустить от имени администратора).
detector