作者vashII (vash)
看板FreeBSD
标题Re: [问题] 请问有关於 top, watch
时间Fri Dec 4 15:38:24 2009
※ 引述《goldenra ((May))》之铭言:
: ※ 引述《king19880326 (OK的啦~我都可以接受)》之铭言:
: : 大家都知道 Linux 上有一个 command 叫做 watch
: : 可以周期性的执行 command
: : 现今我想要写一个 script 来模拟
: : 想法如下
: : while :; do
: : clear
: : 待执行的 command
: : sleep 1
: : done
: : 可是我发现这样会有一些问题, 如果是执行比较花时间的 command, ex
: : ls -al | cat, 萤幕就会闪烁, 没有办法像 top, 或是 Linux 上的
: : watch 一样顺
: : 现在有两个问题
: : 1. 较花时间的 command 会闪烁是什麽原因呢??
: : (我猜测是因为上一次执行 command 的输入还没印完, 就已经执行 clear
: : 及下一次的 command)
: : 2. 改怎麽处理这种情形呢?? 我 man 了 clear 和 terminfo 没找到解决方法
: : 希望有人指点我一下
: : 感谢 QQ
: 应用 clear && 待执行的command在同一行就可以了!
: 不过我不觉的这样会解决你的问题!
: 一般像这样子的写法是直接印在同一个位址或是只清除一行,这样才不会有闪烁的问题
最近刚好写过类似的作业 会闪烁的原因是因为指令执行时间太久
超过视觉暂留的时间 我是用一个变数把指令输出先储存
clear後在输出这个很笨的方法解决的
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 140.113.93.181