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

Raspberry Pi 3B+开机并行运行Python脚本异常问题求解

Raspberry Pi 开机并行运行两个Python脚本的解决方案

一、正确的后台启动Bash脚本

创建start_scripts.sh脚本,确保tmux会话在后台独立创建:

#!/bin/bash

# 配置crontab缺失的环境变量
export PATH=/usr/bin:/bin:/usr/local/bin

# 创建后台会话运行第一个脚本,输出重定向到日志
tmux new-session -d -s script1 'python3 /绝对路径/script1.py >> /绝对路径/script1.log 2>&1'

# 创建后台会话运行第二个脚本,输出重定向到日志
tmux new-session -d -s script2 'python3 /绝对路径/script2.py >> /绝对路径/script2.log 2>&1'

执行以下命令给脚本添加执行权限:

chmod +x /绝对路径/start_scripts.sh

二、Crontab配置

编辑用户crontab:

crontab -e

添加开机启动命令(注意用绝对路径):

@reboot /bin/bash /绝对路径/start_scripts.sh >> /绝对路径/startup.log 2>&1

三、核心问题排查与注意事项

  • 必须加-d参数:tmux的new-session命令如果不加-d,会直接进入会话,导致第二个命令无法执行,这是你之前会话丢失的核心原因。
  • 绝对路径优先:crontab的运行环境没有完整的PATH,所有脚本、命令都要用绝对路径,比如python3可以换成/usr/bin/python3确保能找到。
  • 日志权限检查:确保日志文件所在目录有写入权限,比如用用户目录下的~/logs/代替系统目录,避免权限不足导致脚本崩溃。
  • 验证会话状态:开机后执行tmux ls可以直接查看所有后台会话,不用逐个attach切换。

四、无tmux替代方案

如果tmux仍有异常,可改用nohup直接后台运行,脚本更简洁:

#!/bin/bash
export PATH=/usr/bin:/bin:/usr/local/bin

nohup /usr/bin/python3 /绝对路径/script1.py >> /绝对路径/script1.log 2>&1 &
nohup /usr/bin/python3 /绝对路径/script2.py >> /绝对路径/script2.log 2>&1 &

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.19 11:28:11