Ubuntu 18.04 和 systemctl 服务消失

Ubuntu 18.04 和 systemctl 服务消失

我创建并启用了一项服务:

$ sudo systemctl enable /path/to/imaservice.service
Created symlink /etc/systemd/system/multi-user.target.wants/imaservice.service → /path/to/imaservice.service.
Created symlink /etc/systemd/system/imaservice.service → /path/to/imaservice.service.

它存在并持续存在于:

/etc/systemd/system/imaservice.service
/etc/systemd/system/multi-user.target.wants/imaservice.service

我现在可以顺利地启动/停止/状态。当我重新启动时,我无法启动它。我得到以下信息:

$sudo systemctl is-enabled imaservice
enabled

然而:

$sudo systemctl start imaservice
Failed to start imaservice.service: Unit imaservice.service not found.

每次重新启动时,我都必须重新启用:

$sudo systemctl enable imaservice
$sudo systemctl daemon-reload

此后一切恢复正常。

我究竟做错了什么?

答案1

我有同样的问题。

我发现的唯一解决方案是复制服务而不创建链接

sudo cp /path/to/imaservice.service /etc/systemd/system/multi-user.target.wants/imaservice.service

这样它就可以工作了。

答案2

我遇到了一个问题,我可以执行systemctl statussystemctl stop但不能systemctl start在服务上执行,即使它在启动过程中确实启动了哈哈。

问题出在我的一个 .service 文件中,我After=network-online.service

本来应该After=network-online.target

尽管它仍然以那个拼写错误启动并启动了。

然后它和依赖服务开始像正常服务一样运行。哎呀,我真不敢相信 systemd 没有将这些拼写错误问题记录到 journalctl 中……

相关内容