systemd
为了在 Pi 启动时运行命令或程序,您可以将其添加为服务。完成此操作后,您可以从 linux 提示符下启动/停止启用/禁用。
创建服务
在您的 Pi 上,为您的服务创建一个.service文件,例如:
myscript.service
[单元]
说明=我的服务
之后= network.target
[服务]
ExecStart =/usr/bin/python3 -u main.py
WorkingDirectory =/home/pi/myscript
StandardOutput =继承
StandardError =继承
重启=总是
用户= pi
[安装]
WantedBy =多用户目标
因此,在这种情况下,该服务将在工作目录"/home/pi/myscript"中运行 Python 3,其中包含运行" main.py"的 python 程序。但您不仅限于 Python 程序:只需将 ExecStart 行更改为命令即可启动要从引导中运行的任何程序/脚本。
将此文件以根用户身份复制到/etc/systemd/system
中,例如:
sudo cp myscript.service /etc/systemd/system/myscript.service
复制完成后,您可以尝试使用以下命令启动服务:
sudo systemctl启动 myscript .service
使用以下命令停止它:
sudo systemctl停止 myscript .service
当您对启动和停止应用感到满意时,可以使用以下命令在重新启动时自动启动它:
sudo systemctl启用 myscript .service
systemctl命令也可用于重新启动服务或从启动中禁用它!
要注意的一些事情: +事物开始的顺序取决于它们的依赖关系-在网络可用之后,该特定脚本应在启动过程中相当晚地开始(请参阅"之后"部分)。 +您可以根据需要配置不同的依赖关系和订单。
您可以从以下位置获取更多信息:
man systemctl
或这里:https://fedoramagazine.org/what-is-an-init-system/