从bash启动脚本调用的Python脚本在运行20分钟后停止,

时间:2017-04-26 13:40:37

标签: python linux bash shell

我有一个python脚本,其中包含一个True True:我希望在运行Jessie的覆盆子pi上启动时运行。

到目前为止,我在/etc/init.d中有一个名为startup.sh的启动bash脚本,其中包含

sudo python3 /home/pi/Desktop/Scr​​ipts/bluez3.py& amp;

当raspberry pi启动时,脚本会运行但20分钟后脚本似乎停止了。我已登录我的脚本,时间戳正好停止了20分钟。

我做了一些阅读,我认为最好的选择是在树莓派上创建python脚本作为服务。但是,我还没有找到一个关于如何做到这一点的体面教程(以及我缺乏python知识)。

我的问题是,有没有其他方法可以解决我的问题,或者是否有人知道如何将python脚本变成服务的好教程。

谢谢!

1 个答案:

答案 0 :(得分:1)

鉴于你的剧本名称,我猜它与一些蓝牙的东西有关。很可能在20分钟之后,无论您在脚本中检查/需要什么都无法访问并抛出异常或其他类似内容。就像被锁定的资源,或bt设备断开连接或模块被卸载或不可用或[在此处插入边缘案例] ......

话虽如此,在创建系统服务之间,您可以先使用距离apt install supervisor supervisorctlhttps://www.aspsnippets.com/Articles/SqlBulkCopy--Bulk-Insert-records-and-Update-existing-rows-if-record-exists-using-C-and-VBNet.aspx进行游戏。

然后,如果您真的想将其作为服务推出,可以在/lib/systemd/system/*.service中找到大量示例,如下所示:

[Unit]
Description=Your service
Wants=
After=bluetooth.target # I guess you need bluetooth initialised first

[Service]
ExecStart=/usr/bin/python3 /home/pi/Desktop/Scripts/bluez3.py
ExecReload=/bin/kill -HUP $MAINPID
KillMode=process
Restart=always

[Install]
WantedBy=multi-user.target

我是从sshd.service文件

定制的