我使用的是 ubuntu 16.04。我已经设置了 amule-daemon 和 amule-web 服务,可以正常运行。
这是我的/etc/systemd/system/amuled.service
[Unit]
Description=Amule daemon
After=network.target
[Service]
ExecStart=/bin/sh -c "sudo -u myuser /usr/bin/amuled"
ExecStop=/bin/sh -c "sudo -u myuser /usr/bin/amulecmd -c shutdown"
[Install]
WantedBy=multi-user.target
和我的/etc/systemd/system/amule-web.service
[Unit]
Description=Amule Web
After=network.target
[Service]
ExecStart=/bin/sh -c "sudo -u myuser /usr/bin/amuleweb"
ExecStop=/bin/sh -c "sudo -u myuser /usr/bin/amulecmd -c shutdown"
[Install]
WantedBy=multi-user.target
当我重新启动计算机并运行时,systemctl list-units --all | grep amule
我得到了这个
amule-daemon.service loaded active exited LSB: Daemonized version of aMule.
amuled.service loaded active running Amule daemon
amuleweb.service loaded inactive dead Amule Web
我不明白为什么 amuleweb.service 没有在启动时启动
答案1
systemd
首先,您可以使用该指令清理您的单元文件User=
:
User=myuser
ExecStart=/usr/bin/amuled
ExecStop=/usr/bin/amulecmd -c shutdown
这比使用 更可取sudo
。
其次,您应该熟悉systemd
状态和日志命令的基础知识。检查status
命令的日志,包括最后几条日志以及完整日志。
systemctl status amuled.service
systemctl status amuleweb.service
journalctl -u amuled
journalctl -u amuleweb
第三,/var/systemd
这不是在 Ubuntu 上放置自定义 systemd 单元文件的标准位置。它们应该放在/etc/systemd/system
最后,您应该查看以下文档Type=
并查看是否需要将其设置为您要管理的服务的非默认值。