Na empresa em que estou trabalhando agora, existe um serviço legado e seu script init está usando o SysvInit antigo, mas está executando o systemd (CentOS 7).
Como há muita computação, esse serviço leva cerca de 70 segundos para terminar. Não configurei nenhum tempo limite para systemd e não alterei as configurações padrão em /etc/systemd/system.conf, mas ainda assim quando executo service SERVICE stopmeu serviço está atingindo o tempo limite após 60 segundos.
Verificando com journalctl -b -u SERVICE.serviceeu acho este log:
Sep 02 11:27:46 service.hostname systemd[1]: Stopping LSB: Start/Stop
Sep 02 11:28:46 service.hostname SERVICE[24151]: Stopping service: Error code: 255
Sep 02 11:28:46 service.hostname SERVICE[24151]: [FAILED]
Eu já tentei alterar a DefaultTimeoutStopSecpropriedade em /etc/systemd/system.confpara 90s, mas o tempo limite ainda acontece.
Alguém tem alguma idéia de por que o tempo limite chega aos 60 anos? Existe algum outro lugar em que esse valor de tempo limite esteja configurado? Existe uma maneira de verificar isso?
Este serviço é executado com o java 7 e, para daemonizá-lo, ele usa JSVC . Eu configurado o -waitparâmetro com o valor 120.
TimeoutSec=infinity- não seria possível que isso bloqueie uma reinicialização indefinidamente? E se demorar "para sempre" para que esse processo saia? Eu sugeriria uma grande quantidade, tipo5min, mas provavelmente nãoinfinity...