有没有办法获取 Windows 中进程的详细信息?

Is there a way to get details about a process in Windows?

我想知道 /proc/[pid]/statusstat 等 Windows 的替代方案。我知道有任务管理器,但它不显示内核模式时间、用户模式时间等内容。至少我不知道怎么看那些。有没有办法检查 Windows 中有关进程的此类详细信息?我尝试了 Cygwin,但它没有提供所有 运行 进程的所有 pid,在 cygwin 的进程 "directory" 中只有 2-3 个。所以,如果有办法请告诉我。

在 PowerShell 中,您可以使用 Get-Process cmdlet 获取有关系统上一个或多个进程的信息 运行ning。如果您 运行 不带任何参数的 cmdlet,它将列出所有进程。您还可以使用进程名称(不带扩展名):

Get-Process wmplayer

或者,您可以指定进程 ID,如下所示:

Get-Process -id 25024

默认情况下,PowerShell 只会显示从 cmdlet 返回的对象的某些属性,例如 Get-Process。要查看所有属性及其值,请将输出通过管道传输到 Select-Object cmdlet,如下所示:

Get-Process wmplayer | Select-Object *

这里,内核模式时间和用户模式时间(例如)将分别显示为PrivilegedProcessorTimeUserProcessorTime。有关 Get-Process 的更多信息,请阅读 Get-Help Get-Process。如果您是 PowerShell 的新手,应该注意常见的 cmdlet 有别名,这使得它们不那么冗长:

gps wmplayer | select *

如果您正在寻找用于检查进程的 GUI 工具,那么我会推荐 Process Explorer,它比任务管理器强大得多,并且会向您显示有关进程和系统的更多详细信息一般而言: