Как вы перечисляете все процессы в командной строке в Windows?


Ответы:


373

Работа с cmd.exe:

tasklist

Если у вас есть Powershell :

get-process

Через WMI:

Wmic процесс

(вы также можете запрашивать удаленные машины /node:ComputerOrIP, и есть намного больше способов настроить эту команду: ссылка )


34
Вы можете передать его в буфер обмена и вставить в блокнот: c: \> tasklist | клип

3
В частности, вы можете попробовать> список задач / FI "SERVICES eq wampapache"
RiggsFolly

Если я перечисляю задачи с помощью списка задач, как мне завершить задачу из командной строки?
Кайл Делани

Если вы используете Powershell, очень удобно передавать его в Out-Gridview, например: «Get-Process | Out-GridView»
Чарльз Бёрдж,

1
Или просто передайте его прямо в текстовый файл: C:> список задач> C: \ myProcesses.txt
P.Brian.Mackey

85

Существует инструмент командной строки инструментария управления Windows (wmic.exe) .

Вы можете позвонить, wmic process listчтобы увидеть все процессы.


4
Я нашел эту нить, пытаясь решить ту же проблему, и хотел отметить, что wmic хорошо сработал для меня. С wmic вы можете выбрать наиболее подходящий вывод для разбора, используя / format: csv или / format: rawout. Осторожно: WMIC это не правильно реализовать формат CSV (поля не никогда не цитировал, даже если они содержат встроенные кавычки или запятые), так что я был вынужден использовать XML.
JimN

1
@JimN - / формат: rawxml, а не / формат: rawout
Джо

Можете ли вы отфильтровать любой процесс с помощью wmic?
Kiquenet

Если вам нужно найти командную строку, которая запустила процесс, это ответ
Шейн Гэннон

29

Я хотел упомянуть, что WMIC (запись Пэм) может сделать намного больше. Взгляните на мою страницу фрагментов WMIC, которая представляет собой чит-лист, показывающий многие из распространенных способов использования WMIC (с приведенным примером вывода) здесь


19
  1. Список заданий

  2. WMIC /OUTPUT:C:\ProcessList.txt PROCESS get Caption, Commandline, Processid

или же

 WMIC /OUTPUT:C:\ProcessList.txt path win32_process get Caption,Processid,Commandline

15

Я пробовал на Windows 7. Команда: TASKLIST /FI "IMAGENAME eq application_name"

Например: c:\>TASKLIST /FI "IMAGENAME eq notepad.exe"

Чтобы показать весь процесс с деталями порта:

c:\> TASKLIST

Также, чтобы убить процесс, который вы можете использовать c:\> pskill or tskill processname

Например: c:\> tskill notepad


1
TASKLIST /FI "IMAGENAME eq explorer.exe"возвращает одну целую строку в качестве вывода. Есть ли способ получить только сам PID?
Pacerier

для более незабываемой человеческой команды, taskkillявляется синонимомtskill
Mushroom Man

На 8.1 нет tskillтолько taskkillи pskillпредоставляется SysInternals, но не Windows. (@KiritoBepsibane)
dave_thompson_085




1

Используйте эту команду, чтобы увидеть все процессы в машине Windows

список задач / svc


1
Вы можете отфильтровать любой процесс, используя список задач с конвейером или другим способом?
Kiquenet

@Kiquenet Да , вы можете: tasklist|findstr "firefox.exe". Если это возвращает errorlevel1, процесс был найден в списке процессов.
Март

@mrt: findstrне нуждается в кавычках вокруг иглы, если только он не содержит пробела или специального символа, подобного & хотя find, и оба возвращают 1 для НЕ найден (0 для найден).
dave_thompson_085

@ dave_thompson_085 Конечно, вы правы, но, на мой взгляд, это хорошая привычка заключать строки в кавычки. Это удерживает меня от случайного опускания их, когда они необходимы. Кроме того, это облегчает чтение заявления, поскольку сразу становится понятным, что такое поисковый термин.
MRT

1

Чтобы убить процесс, используйте:

TASKKILL /F /IM processname.exe

Например:

TASKKILL /F /IM firefox.exe

Это не хороший ответ. Вопрос в том, как перечислить процессы, а не как их убить.
Рикки Гибсон

0

У меня была следующая проблема в Windows 2003 с пакетом обновления 2 (SP2): список задач не возвращал никаких выводов в stdout или stderr при вызове из процесса, запущенного как служба Windows (даже в локальной учетной записи). Список задач возвращен с (недокументированным) кодом 128.

Вызванный из той же программы, запущенной как обычный процесс (не как служба), он запустился.

Не поможет изменить это. Я не мог найти причину или решение, но использовал вместо этого «pslist / accepteula» sysinternal.

Та же проблема с тасккиллом: мне пришлось заменить его на pskill.


0

Я сделал msproject (c исходный код), архив доступен по адресу: lsproc.zip архив проекта

и exe-файл: lsproc.exe бинарный

это вывод инструмента командной строки:

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)
\SystemRoot\System32\smss.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:\WINDOWS\system32\winlogon.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 Settings\LoginX\Bureau\lsproc.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
\WINDOWS\system32\ntkrnlpa.exe
--------------------
   2: hal.dll
\WINDOWS\system32\hal.dll
--------------------
   3: KDCOM.DLL
\WINDOWS\system32\KDCOM.DLL
--------------------
   4: BOOTVID.dll
\WINDOWS\system32\BOOTVID.dll


...


--------------------
 129: HTTP.sys
\SystemRoot\System32\Drivers\HTTP.sys
--------------------
 130: hiber_WMILIB.SYS
\SystemRoot\System32\Drivers\hiber_WMILIB.SYS
--------------------
 131: ntdll.dll
\WINDOWS\system32\ntdll.dll



--------------

файл не найден, мистер
Kiquenet

0

открыть окно командной строки

C:\>tasklist                       // list all the tasks


C:\>Taskkill /IM firefox.exe /F     // Kill task by name

или же

C:\>Taskkill /PID 26356 /F           // kill task by PId

-1

Здравствуйте, если вы хотите cmdотобразить идентификаторы запущенных процессов на компьютере с Windows, откройте экран и введите:

netstat -aon | more

используйте Enterклавишу для прокрутки.


Это дает только процессы, которые обращаются к сети, а НЕ ко всем процессам.
dave_thompson_085
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.