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

rea*_*nly 337 windows command-line

是否有等效于 Unix 上的“ps”的命令可以列出 Windows 机器上的所有进程?

Fac*_*tic 429

使用 cmd.exe:

tasklist

如果你有Powershell

get-process

通过 WMI:

进程

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

  • 您可能希望将其通过管道传输到剪贴板,然后粘贴到记事本中:c:\>tasklist | 夹子 (39认同)
  • 具体来说,您可以尝试 >tasklist /FI "SERVICES eq wampapache" (3认同)
  • 或者直接将其通过管道传输到文本文件中:C:>tasklist > C:\myProcesses.txt (3认同)
  • 如果您使用 Powershell,将其通过管道传输到 Out-Gridview 非常方便,如下所示:“Get-Process | Out-GridView” (2认同)

小智 88

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

可以调用wmic process list查看所有进程。

  • 我在尝试解决同样的问题时发现了这个线程,并想指出 wmic 对我来说效果很好。使用 wmic,您可以选择最合适的输出进行解析,使用 /format:csv 或 /format:rawout。当心:wmic 不*不*正确实现csv格式(字段*从不*引用,即使它们包含嵌入的引号或逗号),所以我被迫使用xml。 (5认同)
  • @JimN - /format:rawxml 而不是 /format:rawout (2认同)

use*_*197 31

我想提一下,WMIC(pam 的条目)可以做更多的事情。看看我的 WMIC 片段页面,这是一个备忘单,显示了使用 WMIC 的许多常见方法(显示示例输出)here


小智 20

  1. 任务列表

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

或者

 WMIC /OUTPUT:C:\ProcessList.txt path win32_process get Caption,Processid,Commandline
Run Code Online (Sandbox Code Playgroud)


小智 18

我在 Windows 7 上试过。命令是: TASKLIST /FI "IMAGENAME eq application_name"

例如: c:\>TASKLIST /FI "IMAGENAME eq notepad.exe"

要显示带有端口详细信息的所有进程:

c:\> TASKLIST
Run Code Online (Sandbox Code Playgroud)

也可以杀死您可以使用的进程 c:\> pskill or tskill processname

例如: c:\> tskill notepad


Haf*_*hor 11

来自 sysinternals 的任务列表或pslist。此外,PowerShell 的get-process 也很棒。


小智 6

如果您使用Powershell,则它具有“ps”命令(别名为 Get-Process)