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