在打开的树莓派上运行python脚本

时间:2019-01-01 10:56:34

标签: python linux raspberry-pi

我正在研究树莓派3大约3个月,开始使用它时遇到了问题。 我找不到在树莓派打开时在其上运行python脚本的有效且安全的方法(没有监视器,鼠标和键盘)。此刻,我在/ etc / profile中添加了“ $ sudo run myscript.py&”但是有时候,当我打开它时,直到将监视器,鼠标和键盘连接到该脚本并使用GUI运行该脚本,脚本才能正常运行(再次没有鼠标和键盘)。

我想知道有什么解决方案可以确保我在打开树莓派之后运行脚本吗?

非常感谢

2 个答案:

答案 0 :(得分:0)

您将需要设置<c:forEach items="${inventariozonas}" var="myMap"> <c:forEach items="${myMap}" var="entry"> <tr> <td>${entry.value}</td> </tr> </c:forEach> </c:forEach> 和用户service使其在启动时工作。请参阅here以供参考。

答案 1 :(得分:0)

/etc/profile在启动新的Shell会话时执行,因此,除非您至少启动一个Shell会话,否则脚本将不会运行。此外,它将在会话停止时终止,并且如果您启动多个会话,则还将为每个会话启动脚本,这可能不是您想要的。

根据您的init系统,您需要创建SysVinit或systemd服务。假设您使用基于systemd的发行版(当前是大多数Linux发行版中的默认发行版),则需要执行以下操作:

步骤1:将脚本放置在服务将在其执行的位置。例如,/usr/local/bin/可能是不错的选择。

步骤2:创建服务文件。假设要命名为myscript.service,请在以下路径/etc/systemd/system/myscript.service上创建文件,内容如下:

[Unit]
Description=myscript

[Service]
ExecStart="/usr/bin/python /usr/local/bin/myscript.py"

[Install]
WantedBy=multi-user.target

步骤3:重新加载systemd守护程序并启用服务:

systemctl daemon-reload
systemctl enable myscript

现在,重新启动系统后,应该会自动启动服务。您可以使用命令systemctl status myscript验证该命令,该命令返回服务状态。