热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

树莓派中python文件开机自启动方法

因为项目的需要树莓派开机自启动python文件,自己大概试了多种方法才成功。首先我这里的python脚本文件是不断循环运行的,而且要启动4个python脚本文件,我这里重点写一下网

因为项目的需要树莓派开机自启动python文件,自己大概试了多种方法才成功。

首先我这里的python脚本文件是不断循环运行的,而且要启动4个python脚本文件,我这里重点写一下网上常用的2种方法。

一.桌面自启动(必须是利用桌面运行):在.config文件中的autostart文件(如果没有就新建一个)新建一个以.desktop为后缀的文件。内容为

[Desktop Entry]

Type=Application

Name=testboot

NoDisplay=true

Exec= python3 /home/pi/testboot.py

保存成功后 在terminal窗口sudo reboot即可。

注意:这种方式是依赖桌面的,所以只要一进入桌面,就要运行一个,比如,远程连接一次就需要运行一次。采用远程连接就容易死机(我自己就被这种方式弄晕了,后面只能采用直接用显示屏了)。

二.使用rc.local文件:
在terminal窗口 cd /etc 进入当前路径sudo nano rc.local ,在exit 0 前输入python3 /home/pi/testboot.py 保存可以成功,但是重启可能不成功。因此在exit 0 前输入 su pi -c “python3 /home/pi/testboot.py &” 这种写法更好。

su pi :是以pi用户执行。 -c:执行完回到当前的用户。

作者:xiao韩
来源:CSDN
原文:https://blog.csdn.net/qq_28821995/article/details/82774380
版权声明:本文为博主原创文章,转载请附上博文链接!

方法二的另一家之言:

在你的树莓派上,选择一个文本编辑器编辑/etc/rc.local文件。你必须使用root权限编辑,例如:

sudo vim /etc/rc.local

在注释后面添加命令,但是要保证exit 0这行代码在最后,然后保存文件退出。

WARNING(注意)

如果你的命令需要长时间运行(例如死循环)或者运行后不能退出,那么你必须确保在命令的最后添加“&”符号让命令运行在其后台。

python /home/pi/myscript.py &

这个“&”符号允许命令运行在一个指定的进程中,然后继续运行启动进程。
另外,确保文件名使用绝对路径,而不是相对于你的home目录的相对路径。例如:使用/home/pi/myscript.py而不是用myscript.py。

作者:bill0-Ng
来源:CSDN
原文:https://blog.csdn.net/b108074013/article/details/47443871
版权声明:本文为博主原创文章,转载请附上博文链接!

三、树莓派把一个python脚本作为服务运行,配置开机自动启动
发现简单的把python脚本加到rc.local好像无法自动启动,于是找到了下面的方法,做成一个服务。
首先写个Python脚本
文件保存在/home/pi/script/ledblink.py
#!/usr/bin/env python

import RPi.GPIO as GPIO
import time
GPIO.setmode(GPIO.BCM)
GPIO.setup(21,GPIO.OUT)
while True:
try:
GPIO.output(21,True)
time.sleep(1)
GPIO.output(21,False)
time.sleep(1)
except (KeyboardInterrupt, SystemExit):
GPIO.close()
print “exit”
开机启动脚本
保存脚本为/etc/init.d/ledblink文件
#!/bin/bash

/etc/init.d/ledblink

BEGIN INIT INFO

Provides: embbnuxRequired-Start: $remote_fs $syslogRequired-Stop: $remote_fs $syslogDefault-Start: 2 3 4 5Default-Stop: 0 1 6Short-Description: ledblink initscriptDescription: This service is used to manage a led

END INIT INFO

case “$1” in
start)
echo “Starting LED Blink”
/home/pi/script/ledblink.py &
;;
stop)
echo “Stopping ledblink”
#killall ledblink.py
kill $(ps aux | grep -m 1 ‘python /home/pi/script/ledblink.py’ | awk ‘{ print $2 }’)
;;
*)
echo “Usage: service ledblink start|stop”
exit 1
;;
esac
exit 0
设置python脚本开机启动
sudo chmod +x /etc/init.d/ledblink
这样启动改脚本用service 命令就可以
sudo service ledblink start#启动
sudo service ledblink stop#停止
最后设置开机启动就好了
sudo update-rc.d ledblink defaults
这样就完工了,重启树莓派就会发现led自己闪烁了,停止用sudo service ledblink stop就行


推荐阅读
  • Python项目实战10.2:MySQL读写分离性能优化
    本文介绍了在Python项目实战中进行MySQL读写分离的性能优化,包括主从同步的配置和Django实现,以及在两台centos 7系统上安装和配置MySQL的步骤。同时还介绍了创建从数据库的用户和权限的方法。摘要长度为176字。 ... [详细]
  • 树莓派语音控制的配置方法和步骤
    本文介绍了在树莓派上实现语音控制的配置方法和步骤。首先感谢博主Eoman的帮助,文章参考了他的内容。树莓派的配置需要通过sudo raspi-config进行,然后使用Eoman的控制方法,即安装wiringPi库并编写控制引脚的脚本。具体的安装步骤和脚本编写方法在文章中详细介绍。 ... [详细]
  • Annotation的大材小用
    为什么80%的码农都做不了架构师?最近在开发一些通用的excel数据导入的功能,由于涉及到导入的模块很多,所以开发了一个比较通用的e ... [详细]
  • ZABBIX 3.0 配置监控NGINX性能【OK】
    1.在agent端查看配置:nginx-V查看编辑时是否加入状态监控模块:--with-http_stub_status_module--with-http_gzip_stat ... [详细]
  • MySQL5.6.40在CentOS764下安装过程 ... [详细]
  • 安装mysqlclient失败解决办法
    本文介绍了在MAC系统中,使用django使用mysql数据库报错的解决办法。通过源码安装mysqlclient或将mysql_config添加到系统环境变量中,可以解决安装mysqlclient失败的问题。同时,还介绍了查看mysql安装路径和使配置文件生效的方法。 ... [详细]
  • Linux服务器密码过期策略、登录次数限制、私钥登录等配置方法
    本文介绍了在Linux服务器上进行密码过期策略、登录次数限制、私钥登录等配置的方法。通过修改配置文件中的参数,可以设置密码的有效期、最小间隔时间、最小长度,并在密码过期前进行提示。同时还介绍了如何进行公钥登录和修改默认账户用户名的操作。详细步骤和注意事项可参考本文内容。 ... [详细]
  • 本文介绍了在Mac上配置环境变量,实现Python3的命令行调用的步骤。首先通过官网下载或使用brew安装Python3,并找到安装路径。然后将该路径添加到环境变量中,可以通过编辑.bash_profile文件或执行source命令来实现。配置完成后,即可在命令行中直接调用Python3。 ... [详细]
  • web.py开发web 第八章 Formalchemy 服务端验证方法
    本文介绍了在web.py开发中使用Formalchemy进行服务端表单数据验证的方法。以User表单为例,详细说明了对各字段的验证要求,包括必填、长度限制、唯一性等。同时介绍了如何自定义验证方法来实现验证唯一性和两个密码是否相等的功能。该文提供了相关代码示例。 ... [详细]
  • 本文介绍了如何使用Express App提供静态文件,同时提到了一些不需要使用的文件,如package.json和/.ssh/known_hosts,并解释了为什么app.get('*')无法捕获所有请求以及为什么app.use(express.static(__dirname))可能会提供不需要的文件。 ... [详细]
  • 本文介绍了一个适用于PHP应用快速接入TRX和TRC20数字资产的开发包,该开发包支持使用自有Tron区块链节点的应用场景,也支持基于Tron官方公共API服务的轻量级部署场景。提供的功能包括生成地址、验证地址、查询余额、交易转账、查询最新区块和查询交易信息等。详细信息可参考tron-php的Github地址:https://github.com/Fenguoz/tron-php。 ... [详细]
  • 从零基础到精通的前台学习路线
    随着互联网的发展,前台开发工程师成为市场上非常抢手的人才。本文介绍了从零基础到精通前台开发的学习路线,包括学习HTML、CSS、JavaScript等基础知识和常用工具的使用。通过循序渐进的学习,可以掌握前台开发的基本技能,并有能力找到一份月薪8000以上的工作。 ... [详细]
  • 本文主要介绍关于linux文件描述符设置,centos7设置文件句柄数,centos7查看进程数的知识点,对【Linux之进程数和句柄数】和【linux句柄数含义】有兴趣的朋友可以看下由【东城绝神】投 ... [详细]
  • 对于一般的扩展包,我们一般直接pipinstallxxx即可安装,但是unrar直接安装后,发现并不能通过Python程序实现解压的功能& ... [详细]
  • 【Python 爬虫】破解按照顺序点击验证码(非自动化浏览器)
    #请求到验证码base64编码json_img_datajson_raw.get(Vimage)#获取到验证码编码 #保存验证码图片到本地defbase64_to_img(bstr ... [详细]
author-avatar
潇洒舞者_899
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有