永发信息网

谁能帮我改一下这个批处理代码检查某进程占用的CPU使用率

答案:2  悬赏:0  手机版
解决时间 2021-02-06 16:08
  • 提问者网友:树红树绿
  • 2021-02-06 13:18
@echo on&Setlocal EnableDelayedExpansion
set procc=qq.exe
TITLE RelayServer Check
for /f "skip=2 tokens=2 delims==" %%i in (
'wmic process where "name='%procc%'" get KernelModeTime^,UserModeTime /value'
) do (
set "x=!x! %%i"
)
pause
call :Div %x% 5
>nul pause&pause /b
:Div dividend divisor [decimal] ||@by zj
::不支持超大数和浮点
Setlocal EnableDelayedExpansion
set "dnd=%~1"&set "dsr=%~2"&set "dec=%~3"
if %dsr% equ 0 echo 除数不能是0! &goto :EOF
set/a x=%dnd%/%dsr%
if %x% equ 0 (
if %dnd% lss 0 (if %dsr% gtr 0 set "x=-0") else if %dsr% lss 0 set "x=-0"
)
if not defined dec set "dec=8"
if %dec% equ 0 echo %x%&goto :EOF
for /l %%i in (1 1 %dec%) do (
set/a dnd=^(a=!dnd!%%%dsr%^)*10,b=dnd/%dsr%
set "y=!y!!b!"
)
set cpuf=%x%.%y:-=%%%
echo;
echo %procc%进程占用CPU使用率:%cpuf%
Endlocal
goto :EOF

上面是一段检查某个进程所占用的cpu使用率。这个代码如果进程为qq.exe那么系统中可能会存在多个进程。这时候运行这个批处理就会出错直接退出。所以我想以PID去查询而不是以进程名。谁能帮改下。
还有麻烦帮写个批处理启动程序并记录下启动程序的PID号我想对应上面这个代码去检查CPU过高就结束它重启启动。
最佳答案
  • 五星知识达人网友:夜余生
  • 2021-02-06 13:33
这个情况,我也遇到过!首先可以用进程管理看看啥东东占用了CPU,例如你用360安全卫士——功能大全——电脑优化——进程管理。其次可用360急救箱之类的查杀一下顽固病毒,然后再试试,希望对你有帮助。
全部回答
  • 1楼网友:旧脸谱
  • 2021-02-06 14:06
1、最快速的方法是使用任务管理器,右键任务栏选择[任务管理器]也有人喜欢用ctrl+alt+del,再选择任务管理器 2、打开任务管理器后,点击切换到进入选项页 3、从这里可以看到哪个程序占用了多少内存和cpu使用率但还是不够的,点击菜单[查看]->[选择列] 4、win7和以上系统选择[工作-工作集],而xp时代则选择[虚拟内存] 5、现在物理内存和虚拟内存都是可以看到了,点击其中一项进行排序 6、通过排序后,查看占用多少 7、点击cpu列,查看哪个占用cpu使用率,除了第一个是空闲率,排第二开始的都是占用率高的进程
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯