Systemd 服务:除非先停止,否则找不到重新启动单元

Systemd 服务:除非先停止,否则找不到重新启动单元

systemctl我有一个 systemd 定义的服务,除非我先停止,否则无法重新启动该服务。Systemctl声称该单位不存在。每次我重新启动时都会发生这种情况,直到我执行systemctl stop。如何确保服务可以正确重新启动而无需先调用systemctl stop

例子:

# systemctl restart merlind.service
Failed to restart merlind.service: Unit not found.
# systemctl stop merlind.service
# systemctl restart merlind.service

Systemd服务定义:

[Unit]
Description=Merlin
After=network.target

[Service]
ExecStart=/usr/bin/merlind --config /path/to/conf --debug
ExecStop=/usr/bin/merlind --config /path/to/conf --kill
Restart=always

[Install]
WantedBy=multi-user.target

.service 文件位于/usr/lib/systemd/system/并符号链接于:/etc/systemd/system/multi-user.target.wants/

CentOS Linux 版本 7.5.1804(核心)

系统版本:219

答案1

在这种情况下,我有另一个服务,我们称之为ServiceA,需要Merlin在此处进行描述,以及一些其他服务。然而,ServiceA系统中缺少所需的服务之一。修复此依赖性后,还修复了 Merlin 服务的问题,该服务可以在重新启动时立即重新启动,而无需先执行stop.

相关内容