我正在研究树莓派3大约3个月,开始使用它时遇到了问题。 我找不到在树莓派打开时在其上运行python脚本的有效且安全的方法(没有监视器,鼠标和键盘)。此刻,我在/ etc / profile中添加了“ $ sudo run myscript.py&”但是有时候,当我打开它时,直到将监视器,鼠标和键盘连接到该脚本并使用GUI运行该脚本,脚本才能正常运行(再次没有鼠标和键盘)。
我想知道有什么解决方案可以确保我在打开树莓派之后运行脚本吗?
非常感谢
答案 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
验证该命令,该命令返回服务状态。