转移到后,systemd
我必须运行 NZBGet、Sonarr 和 from/etc/systemd/system
文件夹等软件。我已经设法让除 NZBGet 之外的所有文件都在此处运行:
[Unit]
Description=NZBGet
After=network.target
[Service]
User=osmc
Group=osmc
ExecStart=/opt/nzbget/nzbget -D
ExecStop=/opt/nzbget/nzbget -Q
ExecReload=/bin/kill -HUP $MAINPID
KillMode=process
[Install]
# Needed to run nzbget at boot
WantedBy=multi-user.target
当我通过启用服务sudo systemctl enable nzbget
并重新启动时,检查状态并sudo systemctl status
收到以下消息:
osmc@osmc:~$ sudo systemctl status nzbget
● nzbget.service - NZBGet
Loaded: loaded (/etc/systemd/system/nzbget.service; enabled)
Active: inactive (dead) since Sun 2015-07-05 08:52:01 BST; 2h 16min ago
Process: 302 ExecStop=/opt/nzbget/nzbget -Q (code=exited, status=0/SUCCESS)
Process: 240 ExecStart=/opt/nzbget/nzbget -D (code=exited, status=0/SUCCESS)
Main PID: 240 (code=exited, status=0/SUCCESS)
Jul 05 08:52:01 osmc nzbget[302]: Unable to send request to nzbget-server at 127.0.0.1 (port 6789)
由于服务未运行,我也无法访问 WebUI。我不明白为什么服务没有运行?
答案1
当nzbget -D
它作为守护进程在后台运行时,您需要告诉 systemd:
[Service]
ExecStart=/opt/nzbget/nzbget -D
# process will demonize and parent return ok
Type=forking
或者也许不运行-D
?
看到这个文章。这是我强烈推荐的 systemd 系列中的一个。