linux环境下开机自动运行python--树莓派

Raspberry Pi 自动启动 Python 脚本
本文介绍如何设置 Raspberry Pi 在开机时自动运行一个 Python 脚本。通过创建 shell 脚本并将其添加到 rc.local 文件中实现。适用于需要设备上电后自动执行特定任务的场景。

简单来说,就是在开机运行里面写一个脚本sh

第一步:

写一个脚本test.sh

脚本内容:cd进入py函数所在的目录,再python test.py

第二步:

向rc.local文件添加启动代码

修改rc.local文件,在终端输入并回车:

pi@raspberry:~ $ sudo nano /etc/rc.local
在打开的文本中找到exit 0,在此之前添加的代码在启动时都会被执行,在exit 0 之前添加一行代码:

su pi -c “exec /home/pi/test.sh”

搞定!


参考文章:
http://www.jianshu.com/p/86adb6d5347b
http://shumeipai.nxez.com/2015/02/09/run-python-script-when-the-raspberry-pi-start.html

附:参考文章的的正确打开方式

可以看第一篇文章的正文;
第二篇文章的评论区;

### 树莓派设置Python程序开机自动运行方法 #### 使用`rc.local`文件实现开机自启 编辑`/etc/rc.local`文件,在该文件中的`exit 0`命令之前添加启动Python脚本的指令。对于希望持续运行Python程序,可以在命令结尾加上`&`以便将其作为后台进程执行[^2]。 ```bash sudo nano /etc/rc.local ``` 在`exit 0`前面加入如下行: ```bash sudo python3 /home/pi/myscript.py & ``` 这里的`/home/pi/myscript.py`应替换为实际要执行的Python脚本的位置。 为了确保系统完全初始化后再启动应用程序,可以考虑引入短暂延迟,比如通过sleep命令来达成这一目的。 #### 利用Cron定时任务完成自动化操作 另一种方式是利用cron作业调度器配合`@reboot`特殊字符串达到相同效果。这允许更灵活地定义何时以及如何启动特定的任务。 打开crontab编辑界面: ```bash crontab -e ``` 接着增加一行用于指定待执行的操作: ```bash @reboot sleep 60 && python3 /path/to/script.py & ``` 此配置表示重启后等待一分钟再开始执行给定的Python脚本,并且同样置于后台运行以保持终端可用性[^1]。 #### 创建Systemd服务单元文件 更为推荐的做法是在现代Linux发行版中创建一个systemd service unit file来进行管理。这种方法提供了更好的控制力和服务状态监控能力。 新建并编辑名为`mypythonscript.service`的服务描述文档于`/lib/systemd/system/`目录下: ```ini [Unit] Description=My Python Script Service After=network.target [Service] ExecStart=/usr/bin/python3 /full/path/to/my_script.py WorkingDirectory=/full/path/to/ StandardOutput=inherit StandardError=inherit Restart=always User=pi [Install] WantedBy=multi-user.target ``` 保存更改后启用新建立的服务,使之成为默认随系统一同加载的一部分: ```bash sudo systemctl enable mypythonscript.service sudo systemctl start mypythonscript.service ``` 上述三种途径均可有效实现在树莓派设备上让Python应用软件随着操作系统一并激活的功能需求。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值