📅  最后修改于: 2023-12-03 15:26:41.269000             🧑  作者: Mango
在树莓派上创建一个 systemd 服务可以让你的程序在系统启动时自动运行,并且还可以方便地启动、停止和重启服务。
在开始创建 systemd 服务之前,你需要确认你的树莓派上是否已经安装了 systemd。在终端中输入以下命令来确认:
systemctl --version
如果命令输出的结果包含版本号,则说明 systemd 已经安装。
创建一个 systemd 服务文件需要以下信息:
在这里我们以一个简单的 Python 程序为例来说明如何创建一个 systemd 服务文件。在你的树莓派上创建一个名为 my-service.service
的文件,然后添加以下内容:
[Unit]
Description=My service
[Service]
ExecStart=/usr/bin/python3 /home/pi/myservice.py
User=pi
Group=pi
Type=simple
Restart=always
[Install]
WantedBy=default.target
解释一下每个部分的含义:
[Unit]
- 服务描述部分,仅描述你的服务。[Service]
- 让你定义你要运行的程序。[Install]
- 服务安装部分,这里我们将服务安装到默认目标(即在系统启动时启动)。将上面创建的 my-service.service
文件移动到 /etc/systemd/system
目录中:
sudo mv /path/to/my-service.service /etc/systemd/system/my-service.service
然后通过运行以下命令来重新加载 systemctl,使之能够读取新创建的服务文件:
sudo systemctl daemon-reload
现在你可以使用 systemctl 命令来启动、停止和重启服务了。以下是启动、停止和重启服务的例子:
sudo systemctl start my-service
sudo systemctl stop my-service
sudo systemctl restart my-service
通过运行以下命令,可以查看服务的状态:
sudo systemctl status my-service
这将显示服务的详细状态信息,包括是否正在运行,最近一次的退出状态等。
上面的步骤充分展示了如何在树莓派上创建一个 systemd 服务,使得你的程序可以在系统启动时自动运行。同时,你可以根据自己的需要使用 systemctl 命令来方便地启动、停止和重启服务,并且在需要时查看服务的状态。