在我们日常调试板卡时,会经常想要观察一个小程序/工具或者某些文件在终端上反馈的实时变化,但是一遍一遍的运行是非常麻烦也是非常乱的,这种情况就需要应用到作业调动指令watch。
watch可以用来定期重复执行指定的命令;默认的时间间隔是2s。该命令将被传递给shell执行(所以一定要对特殊字符使用引号或者进行转义处理),并且运行结果将以全屏显示,以便于观察输出结果与发生的各类变化。
以下是官方给出的使用方法
Usage:
watch [options] command
Options:
-b, --beep
如果命令有一个非零的exit,会发出哔声
-d, --differences[=]
高亮显示某些一直在变化的值
-e, --errexit
如果指令出现了非零的exit,会自动退出停止watch
-g, --chgexit
当命令的输出发生变化时退出
-n, --interval
运行两次该命令的时间间隔设置,可理解为频率(最快为0.1s一次)
-p, --precise
尝试以精确的间隔运行命令
-t, --no-title
关闭运行后上面标头(运行的指令与系统时间显示)
-x, --exec
将命令传递给exec,而不是“sh -c”
以下为一些日常能用到的的watch方法(主要以常用的观察中断计数为例)
watch -n 0.1 cat /proc/interrupts
以间隔0.1s的频率来实时查看中断计数情况
watch -d cat /proc/interrupts
以间隔默认2s的频率来实时查看中断计数情况,并高亮显示变化量
watch -t cat /proc/interrupts
以间隔默认2s的频率来实时查看中断计数情况,并去除上方标头
watch -e ./test.sh
以间隔默认2s的频率来运行一个脚本,在脚本出现 exit 1 这类情况时会退出