如何在Windows中的命令行中列出所有进程?


Answers:


347

使用cmd.exe:

tasklist

如果你有 电源外壳

get-process

通过WMI:

wmic过程

(你也可以查询远程机器 /node:ComputerOrIP,还有很多方法可以自定义此命令: 链接


32
你可能想把它管道到剪贴板然后粘贴到记事本:c:\> tasklist |夹

3
具体来说,您可以尝试> tasklist / FI“SERVICES eq wampapache”
RiggsFolly

如果我使用任务列表列出任务,那么如何从命令提示符结束任务?
Kyle Delaney

如果你使用Powershell,将它管道输出到Out-Gridview非常方便,如下所示:“Get-Process | Out-GridView”
Charles Burge

或者直接将其直接传输到文本文件中:C:> tasklist> C:\ myProcesses.txt
P.Brian.Mackey

85

有一个叫做的工具 Windows Management Instrumentation命令行工具(wmic.exe)

你可以打电话 wmic process list 查看所有流程。


4
我找到了这个s.o.尝试解决同样的问题,并希望指出wmic对我有用。使用wmic,您可以选择最合适的解析输出,使用/ format:csv或/ format:rawout。当心:wmic呢 正确实现csv格式(字段是 决不 引用,即使它们包含嵌入的引号或逗号),所以我被迫使用xml。
JimN

1
@JimN - / format:rawxml而不是/ format:rawout
Joe

你能用wmic过滤任何进程吗?
Kiquenet

如果您需要找到启动该过程的命令行,这就是答案
Shane Gannon

28

我想提一下,WMIC(pam的条目)可以做到 批量 更多。看看我的WMIC片段页面,这是一个cheatsheet,显示了许多使用WMIC的常用方法(显示了示例输出) 这里


19
  1. 任务列表

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

要么

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

14

我试过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



2

如果您运行Windows XP,请尝试使用'tasklist'命令。我用Vista试了一下它似乎也有效。


1

使用此命令查看Windows机器中的所有进程

任务列表/ svc


1
您可以使用管道或其他方式使用任务列表过滤任何过程吗?
Kiquenet

@Kiquenet是的你可以: tasklist|findstr "firefox.exe"。如果这返回一个 errorlevel 在流程列表中找到了1个流程。
mrt

@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 SP2上遇到以下问题:当从作为Windows服务启动的进程(即使在本地帐户下)调用时,Tasklist没有在stdout或stderr上返回任何输出。返回的任务列表包含(未记录的)代码128。

从同一个程序调用作为正常进程(而不是服务)启动,它确实运行。

无助于改变它。我找不到任何理由或解决方案,但使用sysinternal的“pslist / accepteula”而不是它。

taskkill也有同样的问题:我不得不用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

打开Windows命令提示符

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

您好,如果要在Windows计算机上列出正在运行的进程ID,请打开 cmd 屏幕和类型:

netstat -aon | more

使用 输入 滚动键。


这只会提供访问网络的进程,而不是所有进程。
dave_thompson_085
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.