免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 2204 | 回复: 1
打印 上一主题 下一主题

请教一个关于精确指定时间间隔执行命令的方法。 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2012-04-09 23:37 |只看该作者 |倒序浏览
我想写个小程序,能够在每秒间隔去采集一次网络设备的接口流量,通过相邻两次取值相减,计算每秒钟的瞬时流量。

for (1..100)
{
($in[$_],$out[$_])=snmpget ($host,$interface)

if($_ > 2 ) {$in1 = $in[$_]-$in[$_-1];$out1 = $out[$_]-$out[$_-1];}
print $in1,$out1,"\n";
sleep(1);
}


我觉得这样做应该有问题,如果是每隔5分钟去取一次流量,时间误差可以忽略,如果一秒钟取一次,网络延迟+处理速度+sleep(1),导致这个结果肯定是不准的。
我的理解对吗?
有么有这样的方式,第一次去采集snmp,不用等结果回来,直接等待1s,马上取第二次值,我的理解是并行调用多次函数,不知道我的理解有么有问题。

我是个新手,请大家帮助一下。

论坛徽章:
0
2 [报告]
发表于 2012-04-10 10:49 |只看该作者
多线程并发?
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP