Dans l'entreprise dans laquelle je travaille actuellement, il existe un service hérité et son script d'initialisation utilise l'ancien SysvInit, mais fonctionne sur systemd (CentOS 7).
Parce qu'il y a beaucoup de calculs, ce service prend environ 70 secondes pour terminer. Je n'ai configuré aucun délai d'expiration pour systemd, et je n'ai pas modifié les configurations par défaut à /etc/systemd/system.conf
, mais quand j'exécute service SERVICE stop
mon service expire après 60 secondes.
Vérification avec journalctl -b -u SERVICE.service
je trouve ce journal:
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]
Je l' ai déjà essayé de changer la DefaultTimeoutStopSec
propriété à /etc/systemd/system.conf
la 90s
, mais le délai d' attente arrive encore.
Quelqu'un a-t-il une idée de la raison pour laquelle le délai d'attente est de 60 ans? Y a-t-il ailleurs que cette valeur de délai d'attente est configurée? Existe-t-il un moyen de le vérifier?
Ce service fonctionne avec java 7 et pour le démonifier, il utilise JSVC . J'ai configuré le -wait
paramètre avec la valeur 120
.
TimeoutSec=infinity
- ne serait-il pas possible que ce bloc redémarre indéfiniment? Et s'il faut «toujours» pour que ce processus se termine? Je suggérerais une grande quantité, comme5min
, mais probablement pasinfinity
...systemd
offresystemctl edit
(etmask
les désactiver avec la force brute, par opposition àdisable
) à cette fin. Vous ne devez jamais modifier les fichiers dans/usr/lib/systemd
.TimeoutSec=infinity
n'a pas fonctionné ici, j'ai utiliséTimeOutSec=900
(15 min) et cela a sauvé mon postérieur. - J'avais besoin de courirsystemctl daemon-reload
après, avant de redémarrer le service.En cours d'exécution,
systemctl show SERVICE_NAME.service -p TimeoutStopUSec
je pouvais au moins voir le délai d'attente défini par systemd à mon service.J'ai changé le script en un fichier d'unité ordinaire pour qu'il fonctionne correctement.
la source