|
|
преди 9 месеца | |
|---|---|---|
| .. | ||
| README.md | преди 9 месеца | |
| gogs.service | преди 9 месеца | |
| image-1.png | преди 9 месеца | |
| image.png | преди 9 месеца | |
将命令行添加到systemd配置中,并且添加到开机启动中。
创建一个名为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 当系统进入该目标时(通常是系统启动时),该服务会被自动启动。
}
添加自己的服务

修改路径和执行命令
执行。(注意:*.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 # 停止服务