我有一台旧笔记本电脑连接到我的路由器,作为 Linux 盒子运行。我安装了 qbittorrent 作为远程 torrent 盒子运行(当然是为了下载 Linux 发行版),并创建了一个新用户“qbuser”来运行它。我创建了适当的单元文件,但是当我查看进程列表时,它正在以 root 身份运行。为什么会发生这种情况?
[Unit]
Description=qbittorrent-nox
Documentation=man:qbittorrent-nox
DefaultDependencies=yes
After=network-online.target nss-lookup.target
Before=multi-user.target
[Service]
User=[i][b]qbuser[/b][/i]
Group=[b]qb[/b]
Type=simple
ExecStart=/usr/bin/qbittorrent-nox [-options]
Nice=10
StandardError=null
StandardOutput=null
TimeoutSec=360s
[Install]
WantedBy=multi-user.target
编辑:我修复了单元文件中的语法错误,现在它完全失败了。我仔细检查了组 qb 和用户 qbuser 是否存在。这是 systemctl 状态输出:
steve@debian-server:~$ sudo systemctl status qbittorrent
● qbittorrent.service - qbittorrent-nox
Loaded: loaded (/etc/systemd/system/qbittorrent.service; enabled; vendor preset: enabled)
Active: failed (Result: signal) since Fri 2019-01-25 23:31:07 CST; 6min ago
Docs: man:qbittorrent-nox
Process: 994 ExecStart=/usr/bin/qbittorrent-nox (code=killed, signal=ABRT)
Main PID: 994 (code=killed, signal=ABRT)
Jan 25 23:31:07 debian-server systemd[1]: Started qbittorrent-nox.
Jan 25 23:31:07 debian-server systemd[1]: qbittorrent.service: Main process exited, code=killed, status=6/ABRT
Jan 25 23:31:07 debian-server systemd[1]: qbittorrent.service: Unit entered failed state.
Jan 25 23:31:07 debian-server systemd[1]: qbittorrent.service: Failed with result 'signal'.
答案1
问题在于您单位中用户和组名称周围的额外字符。
代替:
[Service]
User=[i][b]qbuser[/b][/i]
Group=[b]qb[/b]
你应该使用:
[Service]
User=qbuser
Group=qb
(假设组qb
存在。)
另外[-options]
,您可能应该将其替换为您自己的选项(并删除方括号。)
如果用户不存在,systemd 将记录警告并继续以 root 身份运行服务。
您可以使用命令查看带有警告的日志systemctl status qbittorrent-nox
,或journalctl -u qbittorrent-nox -e
显示更多日志。