📜  树莓派创建 systemd 服务 - Shell-Bash (1)

📅  最后修改于: 2023-12-03 15:26:41.269000             🧑  作者: Mango

树莓派创建 systemd 服务 - Shell-Bash

在树莓派上创建一个 systemd 服务可以让你的程序在系统启动时自动运行,并且还可以方便地启动、停止和重启服务。

确认 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] - 服务安装部分,这里我们将服务安装到默认目标(即在系统启动时启动)。
安装 Service 文件

将上面创建的 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 命令来方便地启动、停止和重启服务,并且在需要时查看服务的状态。