繁体   English   中英

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

[英]run a python script on raspberry pi turned on

我在 raspberry pi 3 上工作了大约 3 个月,当我开始使用它时遇到了问题。 我找不到一种有效且安全的方法在树莓派打开时在其上运行 python 脚本(没有显示器和鼠标和键盘)。目前我在 /etc/profile 添加了“$sudo run myscript.py &”但有时当我打开它时,我的脚本不会运行,直到我将监视器和鼠标和键盘连接到它并使用 GUI 运行脚本,然后它工作正常(再次没有鼠标和键盘)。

我想知道是否有任何解决方案可以确保在打开树莓派后我的脚本会运行?

非常感谢

您需要设置一个service和用户sudo service <my_service> [start, stop, restart]以使其在启动时工作。 请参阅此处以供参考。

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

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

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

第二步:创建服务文件。 假设您想将其命名为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来验证。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM