In der Firma, in der ich jetzt arbeite, gibt es einen Legacy-Dienst, dessen Init-Skript altes SysvInit verwendet, aber über systemd (CentOS 7) ausgeführt wird.
Aufgrund des hohen Rechenaufwands dauert der Abschluss dieses Dienstes ca. 70 Sekunden. Ich habe keine Zeitüberschreitung für systemd konfiguriert und die Standardkonfiguration um nicht geändert /etc/systemd/system.conf
, aber wenn ich service SERVICE stop
meinen Dienst ausführe , tritt nach 60 Sekunden eine Zeitüberschreitung auf .
Beim Überprüfen mit journalctl -b -u SERVICE.service
finde ich dieses Protokoll:
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]
Ich habe bereits versucht, die DefaultTimeoutStopSec
Eigenschaft auf /etc/systemd/system.conf
zu ändern 90s
, aber die Zeitüberschreitung tritt immer noch auf.
Hat jemand eine Idee, warum es bei 60s Timeout ist? Gibt es irgendwo anders, dass dieser Timeout-Wert konfiguriert ist? Kann ich das überprüfen?
Dieser Dienst wird mit Java 7 ausgeführt und verwendet JSVC , um ihn zu dämonisieren . Ich habe den -wait
Parameter mit dem Wert konfiguriert 120
.
TimeoutSec=infinity
- Wäre es nicht möglich, dass dieser einen Neustart auf unbestimmte Zeit blockiert? Was ist, wenn es "ewig" dauert, bis dieser Prozess beendet ist? Ich würde eine große Menge vorschlagen5min
, aber wahrscheinlich nichtinfinity
...