自动重启应用程序,如果CPU负载超过40%并保持循环单元下降

时间:2015-07-22 20:08:33

标签: windows powershell vlc

我制作了一个powershell脚本,如果cpu负载超过40%,程序就会被杀死。

这是代码:

$procname = 'vlc'
$cpu_usage=40
$logfile = 'C:\HighCPU.log'
Get-WmiObject Win32_PerfFormattedData_PerfProc_Process -Filter "Name like'$procname%' and PercentProcessorTime > $cpu_usage" | 
% {
"{0} - killing process {1} ID {2} cpu usage: {3}" -f (Get-Date), $procname,$_.IDProcess, $_.PercentProcessorTime | Out-File -Append $logfile 
kill $_.idprocess
}

我想做这个代码循环,直到这个特定procname的CPU负载低于40.比脚本需要退出。检查的间隔可以是动态/可调节的。说5秒钟。

如果可能的话,我想知道如何让它检查多个procname。

日志文件用于记录情况,但实际上是不礼貌的。

0 个答案:

没有答案