背景
neohost检测网卡的重要性能指标,经常需要不停的敲,本文提供2种方式自动刷新。
快速回忆
# 使用neohost自带的loop功能添加--run-loop的参数:
python /opt/neohost/sdk/get_device_performance_counters.py --mode=shell --dev-uid=0000:01:00.1 --DEBUG --run-loop --get-analysis
# watch方式 -d是显示对比
watch -n 1 -d "python /opt/neohost/sdk/get_device_performance_counters.py --mode=shell --dev-uid=0000:01:00.0 --DEBUG | sed 's/\x1B\[[0-9;]*[JKmsu]//g'"`
# 可以看到特殊字符是以1B的字符出现的,后面的数字表示指定的颜色。
方法1:neohost的loop功能
使用neohost自带的loop功能添加–run-loop的参数:python /opt/neohost/sdk/get_device_performance_counters.py --mode=shell --dev-uid=0000:01:00.1 --DEBUG --run-loop --get-analysis
效果:(动图)
该方式的优势是有色彩,并且不会重复初始化。缺点是刷新屏幕喜欢变化,以及哪些值变化不太明显
方法2:结合watch功能
使用watch命令 -n每个1秒执行一次,并且用sed去掉着色字符:watch -n 1 "python /opt/neohost/sdk/get_device_performance_counters.py --mode=shell --dev-uid=0000:01:00.0 --DEBUG | sed 's/\x1B\[[0-9;]*[JKmsu]//g'"
效果:(动图)
如果要让watch每次列出变化的地方还可以加个参数:-d。 watch -n 1 -d "python /opt/neohost/sdk/get_device_performance_counters.py --mode=shell --dev-uid=0000:01:00.0 --DEBUG | sed 's/\x1B\[[0-9;]*[JKmsu]//g'"
效果:
其他watch功能输出有异常字符
异常字符是因为neohost的输出到串口用了颜色标记方式。使用sed去掉这些特殊字符就行。
修改前:
修改后: