在shell脚本中每2小时运行一次操作

时间:2013-08-06 12:29:39

标签: android shell

在shell脚本编写中,每2小时执行一次特定操作是否有理想的实现? 由于我将此操作用于Android手机,我担心如果我使用busybox sleep 2hours创建一个无限循环并且我在循环中操作,那么shell脚本会导致电池寿命和CPU消耗。任何人都可以展示一个更好的实现,可以使用最短的CPU时间吗?

1 个答案:

答案 0 :(得分:2)

睡眠不会产生太多(几乎没有)CPU时间,所以你不必担心它一直运行。另外,bash只是等待它(睡眠)所以bash并没有真正使用太多的CPU能力。

要运行睡眠2小时,请使用2h参数。使用busybox,它的buxybox睡2小时。如果我们要将它放在循环中,我们可以这样做:

while busybox sleep 2h; do
    ... do some tasks or run checks
done

或者

while
    ... do some tasks or run checks
    busybox sleep 2h
do
    continue
done

如果睡眠突然中断,如关机或发送键盘中断信号时,这将阻止执行另一个任务。

您也可以考虑查看我之前发布的帖子:http://www.linuxquestions.org/questions/programming-9/optimizing-bash-process-4175431381/#post4802416

它接受输入而不是做睡眠,但是微小的修改也可以证明它有用。