En la compañía en la que estoy trabajando ahora hay un servicio heredado y su script de inicio está usando SysvInit antiguo, pero se está ejecutando sobre systemd (CentOS 7).
Debido a que hay muchos cálculos, este servicio tarda unos 70 segundos en finalizar. No configuré ningún tiempo de espera para systemd, y no cambié las configuraciones predeterminadas en /etc/systemd/system.conf, pero aún así cuando ejecuto service SERVICE stopmi servicio se agota el tiempo de espera después de 60 segundos.
Comprobando con journalctl -b -u SERVICE.serviceencuentro este registro:
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]
Ya intenté cambiar la DefaultTimeoutStopSecpropiedad en /etc/systemd/system.confa 90s, pero el tiempo de espera aún ocurre.
¿Alguien tiene alguna idea de por qué se está agotando el tiempo a los 60? ¿Hay algún otro lugar donde este valor de tiempo de espera esté configurado? ¿Hay alguna manera de verificarlo?
Este servicio se ejecuta con Java 7 y para demonizarlo, utiliza JSVC . Configuré el -waitparámetro con el valor 120.

TimeoutSec=infinity- ¿No sería posible que esto bloqueara un reinicio indefinidamente? ¿Qué pasa si toma "para siempre" para que ese proceso salga? Sugeriría una gran cantidad, como5min, pero probablemente noinfinity...systemdofertasystemctl edit(ymaskdeshabilitarlas con fuerza bruta, en lugar dedisable) para ese mismo propósito. Nunca debe editar los archivos en/usr/lib/systemd.TimeoutSec=infinityno funcionó aquí, uséTimeOutSec=900(15 min) y eso salvó mi posterior. - Tenía que corrersystemctl daemon-reloaddespués, antes de reiniciar el servicio.En ejecución
systemctl show SERVICE_NAME.service -p TimeoutStopUSec, al menos pude ver el tiempo de espera establecido por systemd para mi servicio.Cambié el script a un archivo de unidad normal para que funcione correctamente.
fuente