Var.
Ph.D. Candidate at Beihang University
首页
关于
文章分类
为树莓派添加自动运行
2018-03-10 |Var. | 默认分类

1. 使用rc.local方法添加

原文地址:http://www.raspberrypi.org/documentation/linux/usage/rc-local.md

为了在树莓派启动的时候运行一个命令或程序,你需要将命令添加到rc.local文件中。这对于想要在树莓派接通电源后无需配置直接运行程序,或者不希望每次都手动启动程序的情况非常有用。

另一种替代定时任务的方法是使用cron和crontab。

编辑rc.local文件

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

sudo nano /etc/rc.local

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

注意

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

python /home/pi/myscript.py &  

否则,这个脚本将无法结束,树莓派就无法启动。这个“&”符号允许命令运行在一个指定的进程中,然后继续运行启动进程。

另外,确保文件名使用绝对路径,而不是相对于你的home目录的相对路径。例如:使用/home/pi/myscript.py而不是用myscript.py

2. 窗口系统启动后,自动运行自定义的程序的实现方法

进入当前用户HOME目录下的.config/autostart目录,生成一个*.desktop文件(比如:xxx.desktop),命令如下:

sudo nano ~/.config/autostart/xxx.desktop

输入以下文件内容:

[Desktop Entry]
Type=Application
Exec=python /home/pi/myscript.py

最后一句Exec的值就是要启动的程序名(最好是全路径的可执行文件名),此处是运行一个Python脚本。保存退出,重启机器,脚本就会在进入窗口系统自动运行了。

原理:startx后,LXDE窗口管理器会找到~/.config/autostart目录下的所有 .desktop文件,一一执行。

3. 查看进程是否运行

我们就可以使用下面的命令查看Python进程的id:

ps -ef |grep python

或者

pstree |grep python

第二列即为当前进程的id,如果需要直接终止Python程序,执行:

kill -9 pid

再查看一下进程,发现脚本进程已经消失了,搞定。

respond-post-9
March 11th, 2018 at 11:21 pm

滴滴~留一个评论~

January 31st, 2019 at 10:59 pm

嘻嘻,感谢你提供的主题~

添加新评论

请填写称呼
请填写合法的电子邮箱地址
请填写合法的网站地址
请填写内容