You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Bash循环执行xdotool命令致树莓派4死机,求故障原因

树莓派4运行自动刷新脚本时系统冻结的原因分析

我使用8GB内存的树莓派4,系统启动时会打开Chromium浏览器并执行以下Bash脚本,脚本旨在每隔29-59分钟的随机时长刷新浏览器并执行按键操作:

#!/bin/bash
export XAUTHORITY=/home/sean/.Xauthority
export DISPLAY=:0

while true
do
    random=$(( $RANDOM % 1740 + 3540 )) #random number between 29 to 59 minutes
    sleep $random
    xdotool key F11  
    xdotool key "Ctrl+Shift+r" &
done

但运行过程中系统偶尔会出现冻结死机情况,可能的原因如下:

  • xdotool后台进程堆积:脚本中把xdotool key "Ctrl+Shift+r"放到后台执行(加了&),每次执行都会生成一个新的后台进程。如果这些进程没有正常退出,长期运行后会不断堆积,占用系统进程表或内存资源,最终导致系统资源耗尽而冻结。
  • Chromium内存泄漏:Chromium在长期运行时容易出现内存泄漏,尤其是在树莓派的ARM架构环境下。持续的页面刷新加上网页中的视频、广告等资源未被正确释放,会让内存占用逐渐攀升,即使有8GB内存,最终也可能耗尽系统内存触发OOM(内存不足),导致系统冻结。
  • 环境变量配置的潜在风险:脚本硬编码了XAUTHORITY和DISPLAY路径,如果系统启动时X环境的显示端口变化(比如偶尔不是:0),或者Xauthority文件权限异常,xdotool无法正常连接X服务器,会产生错误进程,长期积累会影响系统稳定性。
  • 多脚本实例冲突:如果系统启动时脚本被重复执行(比如启动项配置错误),多个脚本实例同时运行会加倍系统负载,加速资源消耗,增加冻结概率。
  • 硬件与供电问题:树莓派4如果使用功率不足的电源,在Chromium刷新页面、xdotool执行操作等负载波动时,可能出现电压不稳,引发硬件异常;另外,长期运行散热不佳导致CPU过热,也会触发系统保护机制造成冻结。

内容的提问来源于stack exchange,提问作者SeanMallory

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.06 11:10:40