Parece que o Type = forking estava causando as reinicializações. Uma maneira melhor era remover o tipo e usar PIDFile = em vez disso.
Antes do systemd, meu script /etc/init.d/referee iria iniciar / parar / reiniciar um serviço sem problemas. Convertendo para o systemd, que chama o mesmo script init.d, o serviço é iniciado sem um erro e, em seguida, é chamado de novo de imediato com uma parada.
Quando eu executo o serviço manualmente, o serviço é iniciado e continua sem problemas. Quando iniciado manualmente, o "árbitro de status systemctl" mostra o serviço como ativo (em execução)
Eu tenho Type = forking. Existe outro cenário que eu preciso?
Meu sistema:
Distributor ID: CentOS
Description: CentOS Linux release 7.1.1503 (Core)
Release: 7.1.1503
Codename: Core
Um arquivo / 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
Parece que o Type = forking estava causando as reinicializações. Uma maneira melhor era remover o tipo e usar PIDFile = em vez disso.