![使用 systemd 进行定制服务](https://linux22.com/image/137765/%E4%BD%BF%E7%94%A8%20systemd%20%E8%BF%9B%E8%A1%8C%E5%AE%9A%E5%88%B6%E6%9C%8D%E5%8A%A1.png)
我有自己的应用程序,希望它作为服务运行。它不需要任何 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
匹配的文件。