2
我正在查找例如powershell/cmd中的代码,以在下载速度低于5 mbps时终止进程。在下载速度下降时在窗口中杀死进程
情况是我使用VLC mediaplayer做直播。通常情况下,广播发生故障或者开始拥堵。
解决方案是重新启动。但是,只有当有人抱怨无法连接时,我才会重新启动它。
我正在寻找一个脚本/代码来监视这个过程,并在下载速度低于某个水平或不一致时自动重启/关闭它。
我正在查找例如powershell/cmd中的代码,以在下载速度低于5 mbps时终止进程。在下载速度下降时在窗口中杀死进程
情况是我使用VLC mediaplayer做直播。通常情况下,广播发生故障或者开始拥堵。
解决方案是重新启动。但是,只有当有人抱怨无法连接时,我才会重新启动它。
我正在寻找一个脚本/代码来监视这个过程,并在下载速度低于某个水平或不一致时自动重启/关闭它。
言下之意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
。
感谢您的回复,但它是一项IO活动的网络活动。所以实际上没有任何东西被存储或写入光盘。如果这个检查可以通过网络适配器执行,或者它可以执行。但是如果我查看taskmanager,VLC只有网络没有IO活动。 – Sambir
如果VLC是使用网络带宽的唯一过程,那么只应更改计数器名称,这很简单。 – wOxxOm
柜台名称应该改成什么?而且vlc不是唯一使用bandwith的应用程序,因此它应该是特定于应用程序的。 – Sambir