找回密码
 注册
搜索
[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
查看: 14642|回复: 2

[问题求助] vbs是否可以实现:检测sqlservr.exe这个进程,占用cpu如果超过40%,就执行某个代码。

[复制链接]
发表于 2012-8-31 15:41:51 | 显示全部楼层 |阅读模式
  1. for each Process in GetObject("winmgmts:").ExecQuery("Select * from Win32_Process")
  2.     WScript.echo Process.name & " " & CPUUSage(Process.Handle) & " %"
  3. Next

  4. Function CPUUSage( ProcID )
  5.     On Error Resume Next
  6.     Set objService = GetObject("Winmgmts:{impersonationlevel=impersonate}!\Root\Cimv2")

  7.     For Each objInstance1 in objService.ExecQuery("Select * from Win32_PerfRawData_PerfProc_Process where IDProcess = '" & ProcID & "'")
  8.         N1 = objInstance1.PercentProcessorTime
  9.         D1 = objInstance1.TimeStamp_Sys100NS
  10.         Exit For
  11.     Next

  12.     For Each perf_instance2 in objService.ExecQuery("Select * from Win32_PerfRawData_PerfProc_Process where IDProcess = '" & ProcID & "'")
  13.         N2 = perf_instance2.PercentProcessorTime
  14.         D2 = perf_instance2.TimeStamp_Sys100NS
  15.         Exit For
  16.     Next

  17.     ' CounterType - PERF_100NSEC_TIMER_INV
  18.     ' Formula - (1- ((N2 - N1) / (D2 - D1))) x 100
  19.     Nd = (N2 - N1)
  20.     Dd = (D2-D1)
  21.     PercentProcessorTime = ( (Nd/Dd))  * 100
  22.     CPUUSage = Round(PercentProcessorTime ,0)
  23. End Function
复制代码
上面这个代码,可以实现:检测所有进程中,每个进程的cpu占用百分比,并弹出窗口显示。



能否修改下这个vbs代码,实现:

xp系统,vbs代码放在开始—程序—启动项目下,运行vbs的时候是后台隐藏运行

1、先执行
net start mssqlserver
ping 127.0.0.1 -n 300 >nul 2>nul

2、再执行
间隔10秒,检测sqlservr.exe这个进程,占用cpu如果超过40%,就执行下面的代码。


    net stop %Services1%
    ping 127.0.0.1 -n 1 >nul 2>nul
    net start %Services1%
    ping 127.0.0.1 -n 2 >nul 2>nul
    net start %Services1%
    ping 127.0.0.1 -n 3 >nul 2>nul
    net start %Services1%
    ping 127.0.0.1 -n 5 >nul 2>nul
    net start %Services1%
    ping 127.0.0.1 -n 180 >nul 2>nul
    net start %Services1%
f:
cd\
cd F:\上机管理\CCSDoor20\
start CCS_Door.exe
发表于 2013-4-12 21:01:27 | 显示全部楼层
ws.run "F:\上机管理\CCSDoor20\CCS_Door.exe"
发表于 2013-4-12 21:45:30 | 显示全部楼层
Set ws = CreateObject("Wscript.Shell")
ws.run "cmd /c 批处理路径",vbhide
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|批处理之家 ( 渝ICP备10000708号 )

GMT+8, 2026-3-17 14:45 , Processed in 0.017351 second(s), 8 queries , File On.

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

快速回复 返回顶部 返回列表