首先,推荐阮一峰老师的两篇文章:
Systemd 入门教程:命令篇 http://www.ruanyifeng.com/blog/2016/03/systemd-tutorial-commands.html
Systemd 入门教程:实战篇 http://www.ruanyifeng.com/blog/2016/03/systemd-tutorial-part-two.html

我打算将我本地使用的 qbittorrent-nox 服务 以及 frpc 的服务 (还有其他的) 配置成这样

一、以frpc为例

为 frpc 编写 frpc.service

sudo vim /etc/systemd/system/frpc.service

然后填入以下内容

[Unit]

Description=frpc service

[Service]
User=dk

Group=dk

ExecStart=/temp/frp_0.20.0_linux_amd64/frpc -c /temp/frp_0.20.0_linux_amd64/frpc.ini

Restart=always

Type=simple

[Install]

WantedBy=multi-user.target

设置开机自启

sudo systemctl enable frpc

启动 frpc 服务

sudo systemctl start frpc

一些其他命令

# 查看是否已设置开机自启
sudo systemctl is-enabled frpc

# 查看当前程序状态
sudo systemctl status frpc

# 查看服务状态
systemctl list-unit-files --type=service | grep frpc

二、 qbittorrent-nox

qbittorrent-nox 的service 配置文件如下:

[Unit]

Description=thinkpad t400 qbittorrent

[Service]
User=dk

Group=dk

ExecStart=/usr/bin/qbittorrent-nox

ExecStop=/usr/bin/killall qbittorrent-nox

Restart=always

Type=simple

[Install]

WantedBy=multi-user.target

注意: ExecStart=/usr/bin/qbittorrent-nox
中的命令路径必须是完整路径,虽然 qbittorrent-nox在 shell 中也能正确执行,但在 systemd 的 service 配置文件中需要填写完整路径

注意: qbittorrent-nox 本身运行的是 dk 用户 在 Service 里 就用 dk 用户,使用 User Group 标识,如果使用 root 或者其他用户 会导致qbittorrent启用其他的用户登录 (若之前没有配置 那么使用默认的 admin 用户登录)

end.