使用 systemd 进行定制服务

使用 systemd 进行定制服务

我有自己的应用程序,希望它作为服务运行。它不需要任何 root 权限。我只是希望能够启动它,优雅地终止(例如,SIGINT等待几秒钟SIGKILL),如果每小时失败一次,则重新启动,获取状态 - 所有这些都systemd与服务有关。无需在操作系统启动时启动它,无需将其包含在所有服务列表中。

限制是它不能需要root权限,并且不应该以某种方式安装在系统中(或者至少不侵入系统)。

~/.config/systemd/user/loved.service如果它放在:中,我设法让它工作systemctl --user link ~/loved.service。但最好直接从应用程序文件夹运行它。

我相信systemctl可以用于这样的情况:

systemctl --user start ~/loved.service

当我运行这个时,我得到:

Failed to start ....mount: Unit ....mount not found.

当然,安装不是我想要的。

我该如何做到这一点?

答案1

使用 systemd 启动用户服务的语法如下:

systemctl --user start service-name

systemd将查找~/.config/systemd/user匹配的文件。

相关内容