首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >用于监控某个程序的CPU使用情况并对其做出反应的批处理脚本

用于监控某个程序的CPU使用情况并对其做出反应的批处理脚本
EN

Stack Overflow用户
提问于 2014-08-09 11:58:30
回答 3查看 9.5K关注 0票数 3

我不知道以前是否有人问过这个问题,但这里是这样的:

有没有办法写一个批处理脚本,让它持续监控某个可执行程序的cpu使用率,直到cpu达到0%?假设我们有一个名为xyz.exe的程序,根据任务管理器的数据,它目前占用了大约2-4%的cpu。经过一段时间后,cpu达到0%。我尝试使用tasklist命令如下,但无法将其用于cpu目的:

代码语言:javascript
运行
复制
@echo off
:loop
tasklist | "xyz"
if errorlevel 1 (
echo xyz still running
goto loop
) else (
goto next
)

:next
xyz completed
EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2014-08-09 15:06:17

使用typeperf "\Process(xyz)\% Processor Time",您可以检查xyz的处理器使用情况

代码语言:javascript
运行
复制
@echo off

:check
for /f "skip=2 tokens=2 delims=," %%c in ('typeperf "\Process(xyz)\%% Processor Time" -sc 1') do (
    set cpu_usage=%%~c
    goto :break
)
:break
echo %cpu_usage%
set cpu_usage=%cpu_usage:.=%

:: 1 is set in the front to avoid octal comparison
if 1%cpu_usage% LSS 11000000 (
    goto :check_process
) else (
    goto :check
)
:: sleep for 1 second
pathping 127.0.0.1 -n -q 1 -p 1000 >nul 2>&1
:check_process

QPROCESS * | find /i "xyz" >nul 2>&1 && (
    echo process xyz  is running
) || (
    echo process xyz  is not running
)
endlocal

票数 3
EN

Stack Overflow用户

发布于 2014-08-09 12:10:15

使用这个

代码语言:javascript
运行
复制
   For /f "skip=1" %%a in ('wmic cpu get loadpercentage LoadPercentage') do echo %%a

此方法简单地将wmic命令的标准输出解析到for body,并从中创建一个实例变量……希望能有所帮助

票数 0
EN

Stack Overflow用户

发布于 2014-08-09 13:04:07

由于不确定需要哪些权限,以下powershell管道将通过WMI查询( Get-Process powershell对象似乎不计算百分比):

代码语言:javascript
运行
复制
gwmi Win32_PerfFormattedData_PerfProc_Process | 
   where {$_.Name -eq "jusched"} | select IDProcess,Name,PercentProcessorTime
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/25215083

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档