大家下午好,资源linux脚本,禁用/刷新额外输入
我已经创建了一个工作得很好的资源监视工具。
- 拉CPU平均使用率
- 拉平均内存占用
- 即使计算NIC吞吐量%(如果你有一个千兆网卡,它会显示在一个时间进行处理百分比)...是的,我知道这是一个NIC的粗略估计/理论最大限制。
虽然我的脚本有一个问题。下面是我遇到我的问题的部分代码(为了简单起见,我将其转换为伪代码)。
COUNT=1
read -rsp "When you are ready to begin, please press any key" -n1
echo "processing"
sleep 3
while [ ${COUNT} = "1" ; do
read -t 1 -n 1
if [$? = 0 ] ; then
exit 0
else
`Resource command` > ${cpulog} file for future graphs
`Resource command` > ${memlog} file for future graphs
`Resource command` > ${network} log file for future graphs
`etc`
fi
done
基本上,你按任意键来启动程序,只要按下键盘上的任意键在程序启动后(While循环),程序停止记录信息,并继续前进。
现在这个脚本的工作原理,并做我需要它做的一切。我碰到的问题是当你“按任意键”。
请注意,在等待按键的脚本中有两点。
如果我按一次任意键更在第一点,第二按键输入将获得由我read -t 1 -n 1
命令处理(第二点),因此无法运行我的资源拉动。由于这种情况立即发生,脚本失败。
基本上,我试图弄清楚是否有一种方法可以在有限时间内关闭输入后,在有限时间内关闭输入,同时检索有限数量的数据,或者刷新在击中之前给出的任何输入read -t 1
命令。谢谢。
你只需要输入一个字符? –
为了停止拉动资源信息,您可以按任意键停止程序。 – bluerojo
为了启动程序,您还必须按任意键。问题在于,如果您通过意外击中多个按键来启动程序,则额外的按键笔划会发送到我的“读取-t 1”部分,并导致程序失败。 – bluerojo