如何查明 svchost 在做什么

Rob*_*rtK 1 windows service

我在运行一些自动化测试时遇到问题,因为 CPU 使用率在某个时刻随机变高。因此,我将此调用添加到我的代码中,以查看导致 CPU 使用率高的进程:

wmic path Win32_PerfFormattedData_PerfProc_Process get Name,PercentProcessorTime
Run Code Online (Sandbox Code Playgroud)

这为我提供了进程及其 CPU 使用情况的列表。不幸的是,过程是这样的:

svchost#11          100
Run Code Online (Sandbox Code Playgroud)

我知道 svchost 只是一个服务的主机。那么有没有一种简单的方法可以更详细地描述 svchost 在命令行中所做的事情,以便我可以将其集成到我的代码中?任何像 Process Explorer 这样的工具都没有用,因为它们是由 GUI 控制的。我需要一些可以放入 system() 调用中的东西。

顺便说一句,我已经禁用了自动更新 - 所以它必须有所不同。

Rob*_*rtK 6

这就是我想要的:

tasklist /svc /fi "IMAGENAME eq svchost.exe"
Run Code Online (Sandbox Code Playgroud)