【发布时间】:2018-10-30 03:58:58
【问题描述】:
由于我想将所有服务单元文件放在我自己的目录中,例如/opt/myservice/,我找到了使用$SYSTEMD_UNIT_PATH 的方式https://unix.stackexchange.com/questions/224992/where-do-i-put-my-systemd-unit-file/367237#367237,但是systemdctl 在/opt/myservice/ 中找不到我的服务文件在我使用 shell 命令SYSTEMD_UNIT_PATH=/opt/myservice/ 设置SYSTEMD_UNIT_PATH 之后,有人知道它是如何工作的吗?谢谢
[root@localhost system]# ls /opt/myservice/
test.service
[root@localhost system]# export SYSTEMD_UNIT_PATH=/opt/myservice/
[root@localhost system]# echo $SYSTEMD_UNIT_PATH
/opt/myservice/
[root@localhost system]# systemctl daemon-reload
[root@localhost system]# systemctl status test.service
Unit test.service could not be found.
【问题讨论】:
-
是的,我的意思是不要对 systemct 使用绝对路径。
-
你在导出
SYSTEMD_UNIT_PATH吗? -
是的,我试过
export SYSTEMD_UNIT_PATH=/opt/myservice/,但没有用。 -
SYSTEMD_UNIT_PATH可能需要在 systemd 进程上设置,而不是在systemctl- 尝试运行systemctl set-environment SYSTEMD_UNIT_PATH=/opt/myservice/。 -
它也不起作用,虽然
systemctl show-environment中的SYSTEMD_UNIT_PATH是正确的