0

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

4

1 回答 1

2

睡眠不会产生太多(几乎没有)CPU 时间,因此您不必在它运行的整个过程中担心它。此外,bash 只是等待它(睡眠),因此 bash 并没有真正使用太多的 CPU 资源。

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

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

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

于 2013-08-06T13:59:47.170 回答