2010-08-04 62 views

回答

0

你可以做的最好的是这样的:

while :; do 
    i=0 
    while [ $i -lt 1000 ]; do 
      echo hi >> tmp 
      i=$((i+1)) 
    done 
    sleep 1 
done 

实际执行的内部命令的时间,而循环没有考虑进去,所以这会写略显不足每秒消息。

+0

谢谢,但我在这里有一个基本问题:我们正在做的是,在每1000条消息之间休眠1秒,它如何确保内部while循环在1秒内执行?或者我所要求的可能不准确,因为许多事情在cpu周期实际发生时可能会发生。如果我错了,请纠正我。 – hari 2010-08-06 20:41:06

+0

@hari您是对的:您无法确定,其他程序可能会使用CPU周期。如果这个解决方案足够好,取决于你正试图解决的问题。 – schot 2010-08-07 09:59:30