我正在寻找一个代码,例如powershell / cmd,以便在下载速度低于5 mbps时终止进程。
情况是我正在使用VLC媒体播放器进行直播。通常会发生广播故障或开始播放的情况。
解决方案是重启。但是,当有人抱怨无法连接时,我才重启它。
我正在寻找一个脚本/代码来监控这个过程,并在下载速度低于某个水平或不一致时自动重启/终止它。
答案 0 :(得分:0)
暗示VLC从磁盘读取内容并且速度与其出站网络速度相匹配,您可以使用1秒钟测量的磁盘读取速度过程性能计数器:
@echo off
setlocal enableDelayedExpansion
set LIMIT=500000
set PROCESS=VLC
:LOOP
set line=0
for /f "delims=, tokens=2" %%a in ('typeperf -sc 1 "\Process(%PROCESS%)\IO Read Bytes/sec"') do (
set /a line+=1
if !line!==2 (
set speed=%%a
set speed=!speed:"=!
for /f "delims=. tokens=1" %%b in ("!speed!") do set speed=%%b
if !speed! LSS %LIMIT% (
taskkill /f /im %PROCESS%.exe
call RUN-VLC.bat
)
)
)
goto LOOP
假设5mbps是500kBps,则LIMIT
相应地设置为500000
。