我尝试将完整的服务堆栈移植到 centos8 并在那里移植到 systemd 启动系统。
我写了一个像这样的“truc.service”:
[Unit]
After=network.target network-online.target syslog.target
PartOf=machin.target
[Service]
Type=forking
ExecStart=/my/binary/stuff.bin run %i
[Install]
WantedBy=machin.target
所以我描述了一个“machin.target”像这样:
[Unit]
Wants=bidule.service
[email protected] [email protected]
[Install]
WantedBy=chose.service
一旦启用,并通过 systemctl 重新加载守护进程,如果我这样做
systemctl list-dependencies machin.target
我明白了
machin.target
--bidule.service
[email protected]
[email protected]
[email protected]
它似乎试图用自己的名字启动另一个 'truc' 实例,但我并不想这样做!我错在哪里了?
[我的英语水平可能不够好,而且由于这是公司工作,所以我需要匿名。希望你能理解我的问题]
答案1
我发现 !
安装服务时我做了:
systemctl enable /my/path/[email protected]
这会导致出现以下符号链接:
/etc/systemd/system/machin.target.wants/[email protected]
这似乎是个错误。如果我删除该符号链接,在执行“daemon-reload”后,list-dependencies 会显示:
machin.target
--bidule.service
[email protected]
[email protected]