systemd 之前,我的 /etc/init.d/referee 脚本可以毫无问题地启动/停止/重启服务。转换为 systemd,它调用相同的 init.d 脚本,服务启动时没有错误,然后以某种方式迅速再次调用并停止。
当我手动运行该服务时,该服务将启动并继续正常运行。手动启动时,“systemctl status referee”将服务显示为活动(正在运行)
我有 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
似乎 Type=forking 导致了重新启动。更好的方法是删除 Type 并使用 PIDFile= 代替。
评论专区