Is there a command equivalent to ‘ps’ on Unix that can list all processes on a Windows machine?
asked Sep 10, 2008 at 5:50
1
Working with cmd.exe:
tasklist
If you have Powershell:
get-process
Via WMI:
wmic process
(you can query remote machines as well with /node:ComputerOrIP
, and there are a LOT more ways to customize this command: link)
answered Sep 10, 2008 at 5:52
Factor MysticFactor Mystic
12.6k7 gold badges46 silver badges53 bronze badges
6
I wanted to mention that WMIC (pam’s entry) can do a lot more. Have a look at my WMIC snippets page, which is a cheatsheet showing many of the common ways to use WMIC (with sample output shown) here
answered Sep 15, 2008 at 9:53
user4197user4197
5674 silver badges10 bronze badges
2
-
Tasklist
-
WMIC /OUTPUT:C:ProcessList.txt PROCESS get Caption,Commandline,Processid
or
WMIC /OUTPUT:C:ProcessList.txt path win32_process get Caption,Processid,Commandline
answered Feb 15, 2010 at 8:06
I tried on Windows 7. The command is: TASKLIST /FI "IMAGENAME eq application_name"
Eg: c:>TASKLIST /FI "IMAGENAME eq notepad.exe"
To show all process with port details:
c:> TASKLIST
Also to kill the process you can use c:> pskill or tskill processname
Eg: c:> tskill notepad
answered Nov 8, 2011 at 11:56
3
tasklist or pslist from sysinternals. Also, get-process is amazing from PowerShell.
answered Sep 10, 2008 at 5:57
HafthorHafthor
9801 gold badge13 silver badges23 bronze badges
If you use Powershell, it has the ‘ps’ command (it is aliased to Get-Process)
answered Sep 10, 2008 at 7:48
1
To kill a process use:
TASKKILL /F /IM processname.exe
For example:
TASKKILL /F /IM firefox.exe
Gaff
18.5k15 gold badges57 silver badges68 bronze badges
answered May 8, 2013 at 11:58
1
If you running windows XP try using the ‘tasklist’ command. I tried it out with Vista and it seems to also work.
answered Sep 10, 2008 at 5:52
MarcelMarcel
3711 gold badge2 silver badges5 bronze badges
open windows command prompt
C:>tasklist // list all the tasks
C:>Taskkill /IM firefox.exe /F // Kill task by name
or
C:>Taskkill /PID 26356 /F // kill task by PId
answered Jun 1, 2018 at 4:58
Use this command to see all the processes in windows machine
tasklist /svc
answered Sep 5, 2014 at 7:30
LOKESHLOKESH
1311 silver badge6 bronze badges
4
I had following problem on Windows 2003 SP2: Tasklist didn’t return any output on stdout or stderr, when called from a process started as Windows service (even under Local Account). Tasklist returned with the (undocumented) code 128.
Called from the same program started as a normal process (not as service), it did run.
No help to change it. I couldn’t find any reason or solution but use «pslist /accepteula» of sysinternal instead of it.
Same problem with taskkill: I had to replace it whith pskill.
answered May 16, 2012 at 6:58
I have done a msproject ( c source code) , archive is available at :
lsproc.zip project archive
and exe file:
lsproc.exe binary
this is a command line tool
output:
lsproc
Thierry Bremard
t.bremard@gmail.com
list binary files and driver with their local path on disks
most of code retreived from msdn site
--------------------
Process ID: 0
--------------------
Process ID: 4
<unknown> (PID: 4)
<unknown>
PageFaultCount : 0x00002E4B
PeakWorkingSetSize : 0x00419000
WorkingSetSize (Mem usage) : 0x0003A000 (232 ko)
QuotaPeakPagedPoolUsage : 0x00000000
QuotaPagedPoolUsage : 0x00000000
QuotaPeakNonPagedPoolUsage : 0x00000000
QuotaNonPagedPoolUsage : 0x00000000
PagefileUsage : 0x00000000
PeakPagefileUsage : 0x00000000
--------------------
Process ID: 764
smss.exe (PID: 764)
SystemRootSystem32smss.exe
PageFaultCount : 0x000000D6
PeakWorkingSetSize : 0x00082000
WorkingSetSize (Mem usage) : 0x0006C000 (432 ko)
QuotaPeakPagedPoolUsage : 0x00006C34
QuotaPagedPoolUsage : 0x00001854
QuotaPeakNonPagedPoolUsage : 0x000004D8
QuotaNonPagedPoolUsage : 0x00000280
PagefileUsage : 0x0002C000
PeakPagefileUsage : 0x00030000
--------------------
Process ID: 816
--------------------
Process ID: 844
winlogon.exe (PID: 844)
??C:WINDOWSsystem32winlogon.exe
PageFaultCount : 0x0000261D
PeakWorkingSetSize : 0x00B58000
WorkingSetSize (Mem usage) : 0x0029B000 (2668 ko)
QuotaPeakPagedPoolUsage : 0x0001B054
QuotaPagedPoolUsage : 0x000185A4
QuotaPeakNonPagedPoolUsage : 0x0000C988
QuotaNonPagedPoolUsage : 0x0000B6A0
PagefileUsage : 0x005EC000
PeakPagefileUsage : 0x006C6000
--------------------
...
PeakPagefileUsage : 0x03277000
--------------------
Process ID: 2712
lsproc.exe (PID: 2712)
C:Documents and SettingsLoginXBureaulsproc.exe
PageFaultCount : 0x000000EC
PeakWorkingSetSize : 0x000F1000
WorkingSetSize (Mem usage) : 0x000E4000 (912 ko)
QuotaPeakPagedPoolUsage : 0x000032B4
QuotaPagedPoolUsage : 0x000032B4
QuotaPeakNonPagedPoolUsage : 0x00000400
QuotaNonPagedPoolUsage : 0x00000398
PagefileUsage : 0x00042000
PeakPagefileUsage : 0x0005C000
There are 131 drivers:
--------------------
1: ntkrnlpa.exe
WINDOWSsystem32ntkrnlpa.exe
--------------------
2: hal.dll
WINDOWSsystem32hal.dll
--------------------
3: KDCOM.DLL
WINDOWSsystem32KDCOM.DLL
--------------------
4: BOOTVID.dll
WINDOWSsystem32BOOTVID.dll
...
--------------------
129: HTTP.sys
SystemRootSystem32DriversHTTP.sys
--------------------
130: hiber_WMILIB.SYS
SystemRootSystem32Drivershiber_WMILIB.SYS
--------------------
131: ntdll.dll
WINDOWSsystem32ntdll.dll
--------------
answered Mar 25, 2011 at 18:47
Thierry BremardThierry Bremard
1
Using WMI and Powershell you can do:
Get-WMIObject -Class Win32_Process
Then you can filter properties using Select-Object
and show in GUI using Out-GridView
.
answered Sep 16, 2020 at 7:29
WasifWasif
7,8412 gold badges16 silver badges32 bronze badges
For more process info
running in cmd,handle is the process id:
wmic.exe path Win32_Process where handle='22792' get Commandline /format:list
result:
/path/to/app.exe [args specified goes here]
answered Jun 17, 2021 at 2:38
sammysammy
1012 bronze badges
Hello if you want to list running process ID’s on a Windows machine then open a cmd
screen and type:
netstat -aon | more
use the Enter key to scroll.
answered Aug 14, 2014 at 14:05
1
Способов управлять процессами в 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 {$_.cpu -gt 0} | 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 {$_.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 может выводить информацию о процессах по имени или ID, например командой pslist notepad -x выведем подробную информацию о нашем «многострадальном» блокноте.
Особенностью утилиты Pslist является режим task-manager. В этом режиме информация автоматически обновляется, причем можно задать время работы и интервал обновления. Запускается режим ключом -s , например командой tasklist -s -r 10 запускаем режим программу в режиме task-manager с обновлением раз в 10 сек.
Завершение процесса программой pskill предельно просто, вводим команду и имя (или ID) процесса и все.
Справку по утилитам Pslist и Pskill можно посмотреть, введя команду с ключом /?
И еще, все манипуляции с процессами необходимо выполнять с правами администратора, для этого командную строку требуется запускать с повышением привилегий.
- Home
- OS
- Windows
- Работа с процессами из командной строки в Windows, утилиты tasklist и taskkill
Поговорим о том, как найти и завершить (убить) приложение (процесс), используя встроенные утилиты командной строки tasklist и taskkill в ОС Windows.
Процессом в windows называют экземпляр выполняемой программы.
Просмотр запущенных процессов.
Tasklist – консольная утилита для просмотра всех процессов, выводит имя образа, PID, имя сессии, номер сеанса и объем занимаемой памяти для каждого процесса. Запустить ее можно из командной строки windows.
Для запуска командной строки windows, переходим в пункт меню: Пуск —> Выполнить —> В строку вводим команду cmd.exe.
C:WindowsSystem32>tasklist
Вывод команды tasklist.
Завершение работы процесса.
Taskkill – утилита для завершения работы процесса. Существует несколько вариантов для убийства процесса.
1. По номеру PID.
C:WindowsSystem32>taskkill /PID 6056
Вывод команды taskkill /PID 6056.
2. По имени.
WindowsSystem32>taskkill /IM calc.exe
Вывод команды taskkill /IM calc.exe.
Дополнительную информацию по применению этих команд можно получить, используя справку.
C:>tasklist /? C:>taskkill /?
Вот и все. Рассмотрение утилит tasklist и taskkill завершено. Может кому и пригодиться.
Меня два раза спрашивали [члены Парламента]: «Скажите на милость, мистер Бэббидж, что случится, если вы введёте в машину неверные цифры? Cможем ли мы получить правильный ответ?» Я не могу себе даже представить, какая путаница в голове может привести к подобному вопросу. / Charles Babbage /
TASKLIST список процессов
Команда TASKLIST отображает список приложений и служб с кодом процесса (PID) для всех задач, выполняющихся на локальном или удаленном компьютере. А для завершения процессов используется команда TASKKILL.
Синтаксис и параметры команды TASKLIST
tasklist[.exe] [/s компьютер] [/u доменпользователь [/p пароль]] [/fo {TABLE|LIST|CSV}] [/nh] [/fi фильтр [/fi фильтр2 [ … ]]] [/m [модуль] | /svc | /v]
- /s компьютер — Указывает имя или IP-адрес удаленного компьютера (не используйте обратную косую черту). По умолчанию используется локальный компьютер.
- /u доменпользователь — Выполняет команду с разрешениями учетной записи пользователя, который указан как пользователь или доменпользователь. По умолчанию используются разрешения текущего вошедшего пользователя компьютера, с которого поступила эта команда.
- /p пароль — Определяет пароль учетной записи пользователя, заданной параметром /u.
- /fo {TABLE|LIST|CSV} — Задает формат выходных данных. Допустимые значения: TABLE, LIST и CSV. По умолчанию для выходных данных используется формат TABLE.
- /nh — Запрещает вывод заголовков столбцов. Данный параметр является допустимым, если параметр /fo имеет значение TABLE или CSV.
- /fi имя_фильтра — Задает типы процессов, которые следует завершить или не следует. Допустимыми именами фильтров, операторами и значениями являются следующие.
- /m [модуль] — Задает вывод сведений о модулях для каждого процесса. При указании модуля отображаются все процессы, использующие этот модуль. Если модуль не определен, выводятся на экран все процессы для всех модулей. Нельзя использовать совместно с параметрами /svc и /v
- /svc — Отображает без обрезки сведения о всех службах для каждого процесса. Данный параметр является допустимым, если параметр /fo имеет значение TABLE. Нельзя использовать совместно с параметрами /m и /v
- /v — Задает отображение подробных сведений о задании в выходных данных. Нельзя использовать совместно с параметрами /svc и /m.
- /? — Отображает справку в командной строке.
Примеры команды TASKLIST
Далее приведены примеры использования команды taskkill:
- tasklist /v /fi «PID gt 1000» /fo csv
- tasklist /fi «USERNAME ne NT AUTHORITYSYSTEM» /fi «STATUS eq running»
- tasklist /v /fi «STATUS eq running»
- tasklist /s srvmain /nh
- tasklist /s srvmain /s srvny
- tasklist /s srvmain /u maindomhiropln /p p@ssW23 /nh
Содержание
- Просмотр системной информации и управление процессами из CMD или PowerShell
- 1. Используйте команду systeminfo для получения системной информации
- 2. Используйте команду tasklist, чтобы увидеть список запущенных процессов в Windows
- 3. Используйте команду taskkill, чтобы остановить процесс
- Управление процессами Windows через CMD
- Управление приложениями, процессами и производительностью
- Примеры управления процессами через командную строку
- Анализ выполняемых процессов в командной строке
- Мониторинг процессов и использования системных ресурсов
- Останов процессов в командной строке
- Системные и пользовательские процессы
- Управление процессами из командной строки
- Как посмотреть список процессов в Windows на удаленном компьютере
- Управление процессами Windows из командной строки
Просмотр системной информации и управление процессами из CMD или PowerShell
Самый простой способ просмотра информации о вашем компьютере — использовать графические инструменты Windows, такие как диспетчер задач или системная информация. Однако некоторые люди предпочитают использовать командную строку или PowerShell практически для чего угодно. Если вам интересно, как получить системную информацию в CMD (командная строка), или если вы хотите узнать, как управлять запущенными процессами из командной строки, читайте дальше. Мы собираемся показать, как вы можете делать все эти вещи
ПРИМЕЧАНИЕ. Информация в этом руководстве относится к Windows 10, Windows 8.1 и Windows 7, и команды работают как в командной строке, так и в PowerShell.
1. Используйте команду systeminfo для получения системной информации
В Windows есть встроенная команда для проверки конфигурации системы. Он называется systeminfo и, когда вы его запускаете, показывает длинный список информации о вашем компьютере. Откройте командную строку или PowerShell, введите systeminfo и нажмите Enter.
Вы видите, что происходит? Команда systeminfo отображает список деталей о вашей операционной системе, компьютерном оборудовании и программных компонентах. Вы видите детали, такие как версия операционной системы, установленной на вашем компьютере, состояние вашей оперативной памяти или процессора, который у вас есть. Также есть некоторая информация о сети, такая как IP и MAC- адреса ваших сетевых карт.
2. Используйте команду tasklist, чтобы увидеть список запущенных процессов в Windows
Чтобы просмотреть список запущенных процессов, вы можете использовать команду tasklist, как в командной строке, так и в PowerShell. Введите список задач и нажмите Enter.
Команда должна вывести список, аналогичный приведенному выше, с подробной информацией об именах запущенных процессов, их PID (идентификатор процесса) и используемой ими памяти.
3. Используйте команду taskkill, чтобы остановить процесс
Есть моменты, когда вам нужно открыть программу дважды или даже несколько раз. Каждое новое окно, а иногда и вкладки определенной программы (например, Firefox) создают отдельный процесс, называемый экземпляром, с прикрепленным к нему уникальным PID (идентификатор процесса).
Если вы хотите завершить процесс с PID 2492, вам нужно набрать taskkill /PID 2492 и нажать Enter.
Обратите внимание, что если вы неправильно используете команды, перечисленные в этой статье, вы рискуете потерять данные, открытые в запущенных процессах. Важно быть осторожным и иметь резервную копию ваших данных. Поэтому действуйте осторожно и не говорите, что мы вас не предупреждали. 🙂
Вам нравится использовать командную строку для проверки системной информации и управления запущенными процессами?
Вы знаете, как отобразить системную информацию вашего ПК и как остановить процессы, используя несколько текстовых команд в командной строке или PowerShell. Вы не чувствуете себя сейчас отвратительно? Если вы это сделаете, прокомментируйте ниже и расскажите, насколько вам нравится использование CMD или PowerShell. 🙂
Источник
Управление процессами Windows через CMD
Управление приложениями, процессами и производительностью
Всякий раз, когда операционная система или пользователь запускает службу, приложение или команду, Microsoft Windows запускает один или более процессов для управления соответствующей программой. Несколько утилит командной строки упростят вам мониторинг программ и управление ими. К этим утилитам относятся:
Примеры управления процессами через командную строку
Анализ выполняемых процессов в командной строке
При помощи утилиты командной строки Tasklist можно проверить процессы, работающие в локальной или удаленной системе. Tasklist позволяет:
Мониторинг процессов и использования системных ресурсов
Process Resource Monitor (Pmon) показывает «моментальный снимок» используемых системных ресурсов и выполняемых процессов. После запуска (вводом pmon в командной строке) эта утилита собирает информацию об использовании ресурсов и выполняемых процессах в локальной системе и выводит результаты в консольное окно. Статистика автоматически обновляется каждые пять секунд. Pmon продолжает работу, пока вы не нажмете клавишу Q для выхода; нажатие любой другой клавиши приводит к обновлению информации.
Останов процессов в командной строке
Чтобы остановить процессы в локальной или удаленной системе, применяйте утилиту командной строки Taskkill. Процесс можно остановить по его идентификатору при помощи параметра /Pid или по имени образа
Системные и пользовательские процессы
Процессы могут работать и в фоновом режиме независимо от сеансов зарегистрированных пользователей. Фоновые процессы не имеют контроля над клавиатурой, мышью или другими устройствами ввода и обычно запускаются операционной системой. Но с помощью Task Scheduler (Планировщик заданий) пользователи тоже могут запускать процессы в фоновом режиме, и эти процессы способны работать независимо от того, зарегистрирован ли пользователь в системе.
Источник
Управление процессами из командной строки
Способов управлять процессами в Windows предостаточно, и командная строка занимает в них далеко не первое место. Однако иногда бывают ситуации, когда все остальные инструменты кроме командной строки недоступны, например некоторые вредоносные программы могут блокировать запуск Task Manager и подобных ему программ. Да и просто для общего развития полезно знать способы управления компьютером из командной строки.
Для управления процессами в командной строке есть две утилиты — tasklist и taskkill. Первая показывает список процессов на локальном или удаленном компьютере, вторая позволяет их завершить. Попробуем …
Если просто набрать команду tasklist в командной строке, то она выдаст список процессов на локальном компьютере.
По умолчанию информация выводится в виде таблицы, однако ключ /fo позволяет задать вывод в виде списка или в формате CSV, а ключ /v показывает более подробную информацию о процессах, например команда tasklist /v /fo list выведет подробное описание всех процессов в виде списка.
Найдя процессы, которые необходимо завершить, воспользуемся командой taskkill. Завершать процессы можно по имени, идентификатору процесса (PID) или задав условия с помощью фильтров. Для примера запустим несколько экземпляров блокнота (notepad.exe) и попробуем завершить его разными способами.
Ключ /f завершает процесс принудительно, а /t завершает все дочерние процессы.
Полную справку по командам tasklist и taskkill можно получить, введя их с ключом /?
Теперь пустим в ход тяжелую артиллерию — PowerShell. Его можно запустить не выходя из командной строки. Для получения списка процессов используем командлет Get-Process.
Чтобы не выводить весь список процессов можем воспользоваться командлетом Where-Object, который задает фильтр для выводимой информации. Для примера выведем список процессов, которые загружают процессор и отсортируем их по возрастанию нагрузки с помощью команды:
С помощью PowerShell мы можем получить любую информацию о любом процессе. В качестве примера возьмем процесс cmd и выведем список его свойств командой:
Выбираем те свойства, что нам интересны ( в примере имя и ID процесса, путь к файлу, используемые модули и время запуска) и выводим их в виде списка командой:
Таким образом мы можем посмотреть когда и кем был запущен процесс, сколько он потребляет ресурсов, где находится исполняемый файл и еще много различной информации.
Для завершения процесса в PowerShell есть командлет Stop-Process. Он завершает указанный процесс по его имени или идентификатору. Однако мы поступим по другому и передадим результат выполнения командлета Get-Process по конвейеру:
Для боле полного ознакомления с PowerShell можно воспользоваться встроенной справкой, для вызова справки нужно набрать Get-Help ″имя командлета″
Ну и для полноты обзора рассмотрим еще одно средство для управления процессами из командной строки. Это утилиты Pslist и Pskill входящие в состав пакета PSTools от компании Sysinternals.
Эти утилиты не требуют специальной установки, достаточно просто скопировать их на диск. Для запуска нужно зайти в папку с утилитами и ввести в командной строке необходимую команду.
Завершение процесса программой pskill предельно просто, вводим команду и имя (или ID) процесса и все.
Справку по утилитам Pslist и Pskill можно посмотреть, введя команду с ключом /?
И еще, все манипуляции с процессами необходимо выполнять с правами администратора, для этого командную строку требуется запускать с повышением привилегий.
Источник
Как посмотреть список процессов в Windows на удаленном компьютере
Бывает так, что нам нужно посмотреть, запущена та или иная программа на удаленном компьютере. Просто и быстро. Без стороннего софта. Ну или по каким-то другим причинам посмотреть запущенные процессы.
Если говорить о локальном компьютере, то абсолютное большинство использует для мониторинга процессов Windows Диспетчер задач. Но вот в случае с удаленным компьютером он нам не помощник. Рассмотрим очень простой способ.
tasklist [/S имя_удаленного_компьютера [/U имя_пользователя [/P пароль]]] [/M модуль | /SVC | /V] [/FI фильтр] [/FO формат] [/NH]
/S — необходимо указать имя удаленного компьютера, если подключаемся к такому. Для локального компьютера не указывается;
/U — имя пользователя, от которого будут просматриваться процессы. Пользователь должен быть администратором;
/P — пароль от указанной учетной записи пользователя, если пароль не указан, будет выполнен запрос на ввод пароля;
/M — отображение всех процессов, которые используют указанное имя. Если не задано, будут отображаться все процессы;
/SVC — отображение служб для каждого процесса;
/V — ведение подробного протоколирования;
/FI — отображение процессов, которые соответствуют указанному фильтру;
Таким образом, если нам просто нужно посмотреть список запущенных процессов на локальном компьютере, то достаточно просто набрать
Пример вывода команды tasklist.
Если же мы хотим посмотреть процессы на удаленном компьютере (например, с именем Test-PC), то команда должна выглядеть следующим образом:
Использование фильтров в команде tasklist.
Начнем с того, что фильтр заключается в кавычки. Далее идёт очень простая схема:
[имя_фильтра] [оператор] [значение]
Есть ограниченное число имён фильтров, операторов и значений. Они в таблице ниже.
Имя фильтра | Допустимые операторы | Допустимые значения | Описание |
STATUS | eq, ne | RUNNING, SUSPENDED, NOT RESPONDING, UNKNOWN | Статус процесса |
IMAGENAME | eq, ne | Имя (часть имени) процесса(-ов) | Подходящие по наименованию процессы |
PID | eq, ne, gt, lt, ge, le | Значение PID | Идентификатор процесса |
SESSION | eq, ne, gt, lt, ge, le | Номер сеанса | Номер сеанса в Windows |
SESSIONNAME | eq, ne | Имя сеанса | Имя сеанса в Windows |
CPUTIME | eq, ne, gt, lt, ge, le | Время ЦП в формате чч:мм:сс (часы:минуты:секунды) | Время обработки задачи |
MEMUSAGE | eq, ne, gt, lt, ge, le | Используемая ОЗУ (в КБ) | Размер используемой задачей оперативной памяти |
USERNAME | eq, ne | Имя пользователя | Пользователь, из-под которого запущен процесс |
SERVICES | eq, ne | Имя службы | Используемые службы |
WINDOWTITLE | eq, ne | Заголовок окна | Заголовок окна процесса |
MODULES | eq, ne | Имя dll (динамически подключаемой библиотеки) | Используемые библиотеки |
Отметим, что для удаленных компьютеров не действуют фильтры «WINDOWTITLE» и «STATUS».
Используемые операторы сравнения означают следующее:
eq — равно;
ne — не равно;
gt — больше;
lt — меньше;
ge — больше или равно;
le — меньше или равно.
Синтаксис фильтров является, пожалуй, самой сложной частью. Все следующие примеры проще. Тот же просмотр служб, относящихся к задачам, вызывается следующей командой:
Просмотр используемых служб в команде tasklist.
Если мы хотим вывести информацию в файл, то нужно использовать параметр /FO. Конечно же, у вас должны быть права на запись в каталог, куда вы хотите поместить файл с выводимой информацией. Команда
Что, если нам надо посмотреть какие процессы используют определенную dll-библиотеку? Например, библиотеку cfgmgr32.dll. Это можно сделать командой
Источник
Управление процессами Windows из командной строки
Для управления процессами Windows существует много разных утилит и приложений. Как правило, для этих целей командная строка используется очень редко. Но в некоторых случаях, это единственная возможность и другие средства недоступны. Такое может возникнуть при блокировке стандартных диспетчеров различными вирусами и другими, нехорошими программами. Поэтому, будет очень полезно знать и уметь работать с процессами через командную строку.
Чтобы управлять процессами, при помощи возможностей командной строки, в системе предусмотрено два специальных приложения: tasklist и taskkill. Из их названия можно догадаться и об их предназначении — первое может отображать список всех запущенных процессов на данном компьютере, или на удаленной машине, а вторая умеет их останавливать. Давайте глянем, как это работает на практике.
Введите, в окне терминала, tasklist и командная строка выдаст весь список рабочих процессов на данном компьютере.
Все данные будут отображаться в табличной форме, но можно поменять вид данных в другой формат. Воспользуйтесь параметром /fo и все отобразится в виде списка (или как CSV), а если использовать параметр /v, то в этот список будут включены более подробные данные о каждом процессе. Введите команду taskliist /v /fo list (без кавычек естественно) и в окне должна появиться приблизительно такая картина.
Обычно список выходит немалых размеров, и чтобы не листать его слишком долго, выполним более точный запрос. Для этих целей существует параметр /fi, способный уточнить поиск процессов используя фильтры. Для примера, введем команду, которая отобразит все процессы, запущенные от имени пользователя user и занимающие до 40 мегабайт в памяти компьютера. Команда выглядит следующим образом: tasklist /fi »username eq user» /fi »memusage le 40000». А на рисунке ниже представлен результат работы команды.
Допустим, мы нашили процессы, которые хотим завершить. Теперь настал черед утилиты «taskkill». Для прекращения работы процесса можно использовать его имя, или идентификатор PID, а можно прекращать процессы используя разные фильтры. Для эксперимента, мы запустим несколько окон программы Блокнот (notepad.exe) и на них испытаем разные способы.
При помощи параметра /f процесс будет завершен в принудительном порядке, а если добавить еще ключ /t — завершатся все другие, которые были через него запущенны. Чтобы узнать больше возможностей, для команд tasklist и taskkill, добавьте к ним ключ /?. Он отобразит полную справку для этих утилит. Не будем забывать про такое мощное средство, как PowerShell. Мы можем им воспользоваться и прям в этом же окне командной строки. Чтобы просмотреть весь список процессов, запустите команду Get-Process.
Результат будет иметь приблизительно такой вид:
Здесь можно получить полную информацию о любом запущенном процессе. Сейчас мы узнаем список всех свойств процесса cmd. Это можно сделать при помощи такой команды:
Выведем только нужные свойства. Например, оставим только имя, идентификатор процесса, путь к его исполнительному файлу, подключенные модуле и время, когда процесс был запущен. Все это мы выводим списком, при помощи такой команды:
Благодаря этому мы узнаем о том, кто запустил процесс, как сильно он грузит систему, где располагается его файл и еще кучу разной, полезной и не очень информации.
Чтобы остановить процесс через PowerShell используйте специальный командой Stop-Process. Для того, чтобы указать нужный процесс для завершения, используйте его имя или идентификатор. Например, можно по конвейеру прекратить работу блокнота:
Для работы с процессами на другом, удаленном компьютере необходимо использовать совсем другой командой — Get-WmiObject. Сейчас посмотрим, какие процессы запущенны на компьютере с именем «PC»:
Чтобы узнать больше информации и различных ключей, для работы с процессами через PowerShell, используйте встроенную справку. Запустите команду Get-Help «имя команды» и появится справка по указанному параметру. Есть еще две дополнительные утилиты, способные выполнять операции с процессами. Ими являются Pslist и Pskill. Изначально их в системе нет, они входят в пакет PSTools.
Сами по себе эти приложения не нуждаются в установке. Их достаточно скопировать в любое место на своем жестком диске. Чтобы запустить, зайдите в папку, где они хранятся, и активируйте нужной командой.
Завершить любой процесс можно при помощи утилиты Pskill. Введите эту команду и идентификатор процесса, или его имя. На рисунке ниже можете посмотреть, как это будет выглядеть в случае с бедным блокнотом.
Дополнительную информацию, в виде справки, можно открыть дополнительным параметром /?
Самый главный момент — командная строка, во всех случаях, должна быть запущена от имени администратора, иначе ничего не получится. Но если столкнетесь с какими-либо сложными проблемами, или возникнут вопросы, то всегда можно этим поделиться в комментариях к данной статье, и мы вместе постараемся разобраться.
Источник