有没有办法在 Windows 中获取有关进程的详细信息?
Posted
技术标签:
【中文标题】有没有办法在 Windows 中获取有关进程的详细信息?【英文标题】:Is there a way to get details about a process in Windows? 【发布时间】:2019-01-25 15:09:46 【问题描述】:我想知道 Windows 中 /proc/[pid]/status
、stat
等的替代方案。我知道有任务管理器,但它不显示内核模式时间、用户模式时间等。至少我不知道怎么看那些。有没有办法检查有关 Windows 中进程的详细信息?我试过Cygwin,但它并没有给出所有正在运行的进程的所有pid,cygwin的proc“目录”中只有2-3个。所以,如果有办法,请告诉我。
【问题讨论】:
你看过Get-Command *process*
了吗?
@Lee_Dailey 我必须在 process 中添加什么?姓名还是身份证?
@ShantanuShinde 如果您打开 PowerShell 提示符并运行 Get-Process
,它将显示一些有关正在运行的进程的默认信息。要查看它检索到的所有内容(因为默认情况下它不会全部显示),请尝试以下操作:Get-Process | Format-List *
。另一种方法是查询性能计数器,使用Get-Counter
@ShantanuShinde - 请为此使用内置帮助系统。它真的相当有用。 [grin] 尝试Get-Help Get-Process
了解更多信息...
【参考方案1】:
在 PowerShell 中,您可以使用 Get-Process
cmdlet 获取有关系统上运行的一个或多个进程的信息。如果您在没有任何参数的情况下运行 cmdlet,它将列出所有进程。也可以使用进程名(不带扩展名):
Get-Process wmplayer
或者,您可以指定进程 ID,如下所示:
Get-Process -id 25024
默认情况下,PowerShell 将仅显示从 cmdlet(如 Get-Process
)返回的对象的某些属性。要查看所有属性及其值,请将输出通过管道传输到 Select-Object
cmdlet,如下所示:
Get-Process wmplayer | Select-Object *
在这里,内核模式时间和用户模式时间(例如)将分别显示为PrivilegedProcessorTime
和UserProcessorTime
。有关Get-Process
的更多信息,请阅读Get-Help Get-Process
。如果您是 PowerShell 新手,应注意常见 cmdlet 有别名,这使得它们不那么冗长:
gps wmplayer | select *
如果您正在寻找用于检查进程的 GUI 工具,那么我会推荐 Process Explorer,它比任务管理器强大得多,并且会向您显示有关进程和系统的更详细信息:
【讨论】:
以上是关于有没有办法在 Windows 中获取有关进程的详细信息?的主要内容,如果未能解决你的问题,请参考以下文章