systemd 不断停止并重新启动服务

systemd 不断停止并重新启动服务

在使用 systemd 之前,我的 /etc/init.d/referee 脚本可以毫无问题地启动/停止/重新启动服务。转换为 systemd 后,它会调用相同的 init.d 脚本,服务会毫无错误地启动,然后不知何故又迅速被调用并停止。

当我手动运行该服务时,该服务可以启动并继续运行,没有任何问题。手动启动时,“systemctl 状态裁判”显示服务为活跃(运行)

我已经将 Type=forking 设置为了。我还需要其他设置吗?

我的系统:

Distributor ID: CentOS
Description:    CentOS Linux release 7.1.1503 (Core) 
Release:    7.1.1503
Codename:   Core

/etc/systemd/system referee.service 文件:

[Unit]
Description=keeper service
After=rc-local.service
After=syslog.target

[Service]
ExecStart=/usr/local/keeper/initscripts/referee start
ExecReload=/usr/local/keeper/initscripts/referee restart
ExecStop=/usr/local/keeper/initscripts/referee stop
Type=forking
# restart automagically after a reboot
Restart=always
RestartSec=10

[Install]
WantedBy=basic.target

答案1

看来 Type=forking 导致了重启。更好的方法是删除 Type 并改用 PIDFile=。

相关内容