树莓派开机自动运行python脚本,查看后台线程,前后台转换

树莓派开机自动运行python脚本,查看后台线程,前后台转换:


一、安装screen

1.安装

sudo apt-get install screen

在这里插入图片描述

2.使用screen创建新的终端

(这里我创建了一个名字为my_test2的终端,要记住终端的名字)

 screen -S my_test2

在这里插入图片描述

成功创建后会清屏

在这里插入图片描述

3.在screen 终端上跑我的脚本

(尽管把终端关了,这个脚本依然会在后台运行)
在这里插入图片描述

你不信???继续往下看… …

二、查看树莓派后台线程

1.打开终端输入 ps aux 查看所有的进程

我已经将刚才的终端关闭了,现在新打开一个终端,输入ps aux
可以看到test2.py线程,依然在后台运行

ps aux

在这里插入图片描述

2.或者打开终端输入 ps -ef | grep python 查看python的进程

ps -ef | grep python

在这里插入图片描述

三、恢复后台的程序(在终端上显示)

my_test2就是一开始创建的终端的名字

screen -r my_test2

在这里插入图片描述
可以看到,程序是一直在跑的!
在这里插入图片描述

四、开机自动创建终端,自动运行脚本

1.首先我们需要制作一个脚本。在终端下输入并回车新建脚本文件start.sh

创建文件:

touch start.sh

设置权限:

chmod 777 start.sh

在这里插入图片描述

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

在终端输入 sudo vi /etc/rc.local 并回车

sudo vi /etc/rc.local

在打开的文本中找到exit 0,在此之前添加的代码在启动时都会被执行,在exit 0 之前添加一行代码:

su pi -c "exec /home/pi/start.sh"

在这里插入图片描述
保存并退出
这时候,树莓派通电的时候就会运行 start.sh 脚本.而我们接下来就是要做start.sh上创建screen 终端,并且运行我们的python脚本

3.编辑start.sh

vi start.sh

输入一下代码:

screen_name="my_test2"  
screen -dmS $screen_name 
cmd="python3 /home/pi/Arm_Pi/test2.py";  
screen -x -S $screen_name -p 0 -X stuff "$cmd"  
screen -x -S $screen_name -p 0 -X stuff '\n'

现在,我们创建了一个名为 my_test2 的窗口。
然后,我们向其发送具体的命令 python3 /home/pi/Arm_Pi/test2.py


这样,我们就向my_test2发送了一条python3 /home/pi/Arm_Pi/test2.py命令了。

以后其他的开机启动命令都可以放在start.sh中

sudo reboot

重启一下,进入后台, test2.py 已经在运行了… …

五、关闭程序

从后台查看,我们可以看到 test2.py 的PID是850
在这里插入图片描述
在终端上输入kill 580就可以关闭test2.py的脚本

kill 850
  • 3
    点赞
  • 27
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值