我想同时运行两个命令。目前我面临着串行运行命令的问题,因为perfmon数据与统计数据不匹配。
以下是这个想法。
我正在运行wmi_processes
以从命令行获取名称。由于我们在命令中有应用程序名称,因此这是了解名称和IDprocess的唯一方法。
然后我查询格式化的perfmon数据以获得CPU使用率。但是在这方面存在延迟,而且大部分时间我都会错过细节。
那么我有什么方法可以同时触发这两个查询并仅使用数据集?
欢迎任何其他想法获得相同的解决方案。谢谢你的帮助。
更新: 我试图让进程ID匹配,但是当我在下面的foreach循环中搜索时,执行可能已经结束。所以我希望他们立刻被执行。这是我的代码
$rec=Get-WmiObject -Query "select CommandLine,CreationDate,Handle,HandleCount,Name,ProcessId,VirtualSize,WorkingSetSize from Win32_Process where commandline like 'Dtexec%'"
foreach ($P in $rec)
{
$PsId=$P.ProcessId
$FormattedData=Get-WmiObject -Query "select ElapsedTime,IDProcess,PercentProcessorTime,PercentUserTime,PercentPrivilegedTime,IOReadByte sPerSec,IOWriteBytesPerSec,PrivateBytes,WorkingSet from Win32_PerfFormattedData_PerfProc_Process where IDProcess='$Psid'"
$Usage=$P.CreationDate+","+$PsId+","+$P.Handle+","+$P.HandleCount+","+$P.VirtualSiz e+","+$FormattedData.IDProcess+","+$FormattedData.PercentProcessorTime+","+$FormattedData.E lapsedTime+","+$FormattedData.PercentUserTime+","+$FormattedData.PercentPrivilegedTime+","+ $FormattedData.IOReadBytesPerSec+","+$FormattedData.IOWriteBytesPerSec+","+$FormattedData.P rivateBytes+","+$FormattedData.WorkingSet+","+$P.CommandLine
$Usage
}
那我该怎么做呢?