xuxinyi b0006d0dc6 添加system命令的添加方法 il y a 9 mois
..
README.md b0006d0dc6 添加system命令的添加方法 il y a 9 mois
gogs.service b0006d0dc6 添加system命令的添加方法 il y a 9 mois
image-1.png b0006d0dc6 添加system命令的添加方法 il y a 9 mois
image.png b0006d0dc6 添加system命令的添加方法 il y a 9 mois

README.md

将命令行添加到systemd配置中,并且添加到开机启动中。

  1. 创建一个名为my_script.service的systemd服务文件(具体文件名根据你想要的内容修改,本例采用gogs的git程序示例),内容如下: { 以下是你给出的 gogs.service 配置文件的详细解释:

    [Unit] 部分 Description=FRPC Client Service 这是对服务的描述,系统管理员和其他用户可以看到它。这是对服务的简短说明,帮助了解该服务的用途或功能。

    After=network.target 指定服务应该在 network.target(即网络服务)之后启动。这意味着该服务将在网络配置完成后启动,确保服务能访问网络。

    Wants=network-online.target 指定该服务希望在 network-online.target 后启动。network-online.target 是系统确认网络已经完全可用的标志。这个设置告诉 systemd,即使 network.target 是前提,网络完全可用时才启动该服务。

    [Service] 部分 Type=simple simple 是 systemd 服务的默认类型。它表示该服务将在启动后立即开始执行并持续运行,不需要分离为后台进程。systemd 会认为服务进程直接是服务主进 程。

    ExecStart=/home/x/gogs/gogs/gogs web 这是实际启动服务的命令。它指定了在服务启动时执行的命令及其参数。在这里,它执行 gogs web,即启动 Gogs 服务的 Web 服务器。/home/x/gogs/ gogs/gogs 是 Gogs 的可执行文件路径。

    Restart=always 表示如果服务崩溃或停止,systemd 会自动尝试重启服务。它会确保服务在异常情况下重新启动,以提高服务的可靠性。

    WorkingDirectory=/home/x/gogs/gogs 指定服务运行时的工作目录。在这里,工作目录设置为 /home/x/gogs/gogs,这意味着 Gogs 启动时会以该目录作为当前工作目录,可能影响相对路径、日志 等配置。

    User=x 指定运行服务的用户。这里配置为 x 用户,意味着 Gogs 服务将以 x 用户的身份运行。这可以提高安全性,避免使用 root 用户来运行服务。

    [Install] 部分 WantedBy=multi-user.target 这表示该服务将与 multi-user.target 一起启用。multi-user.target 是系统的多用户模式,通常表示系统已经准备好进行多用户操作。通过设置 WantedBy=multi-user.target,你告诉 systemd 当系统进入该目标时(通常是系统启动时),该服务会被自动启动。

}

添加自己的服务

![alt text](image-1.png)
修改路径和执行命令

执行。(注意:*.service是你刚刚配置的文件名)

sudo systemctl daemon-reload                        # 重新加载配置
sudo systemctl enable my-service.service            # 允许自启动服务
sudo systemctl start my-service.service             # 启动服务
sudo systemctl status my-service.service            # 查看服务状态
sudo systemctl stop my-service.service              # 停止服务