我在树莓派上建了一个照相亭。它太棒了!但经过一些编码,我现在在组织我的脚本时遇到了问题。目前所有脚本都是通过“lxterminal -e”启动的。所以每个脚本都有自己的终端窗口,一切都同时运行。我问自己这是否可以以更有效的方式完成。
照相亭的基本功能:人们按下遥控器按钮,拍照,照片显示在内置灯上。
start.sh - >正在启动后自动执行。它准备系统,设置相机并使其处于系留模式。毕竟它启动了另一个,遵循以下脚本:
system-watchdog.sh - >如果正在按下照相亭上的一个物理按钮,则重新启动或进入设置模式。这是一个持久的循环。
sync.sh - >将捕获的照片同步到某些文件夹,在这些文件夹中修改它们以进行打印。也是一个永恒的循环。
backup.sh - >将所有拍摄的照片复制到USB设备作为备份。这是一个cronjob,每5分钟一次。
temp-logger.sh - >连续记录CPU的温度,因为我有热量问题。
cpu持续运行在20-40%左右。也许通过一些优化,我可以运行查看器脚本和更少的CPU使用。
我可以用什么建议以更好的方式组织脚本?
感谢您的建议!
答案 0 :(得分:1)
sync.sh - >将捕获的照片同步到某些文件夹,在这些文件夹中将其修改为1.显示在第二个屏幕上,2。上传到 dropbox和3.正在打印。也是一个永恒的循环。
terminal-sync.sh - >将拍摄的照片复制到 第二屏幕终端,它们在画廊中显示。这也是 一个持久的循环。
对于这些,您可以在处理文件之前使用inotifywait等待文件可用性。
你应该检查使用top,哪个脚本实际消耗CPU及其原因。一旦确定了脚本及其消耗CPU的原因,就可以开始寻找优化的方法来完成相同的工作