Skip to content

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/