Ich habe node.js und pm2 auf einem Pi (Raspbian) installiert. PM2 wurde so konfiguriert, dass es über pm2 startup
und die von ihm erstellten Init-Skripte startet . Manchmal hängt das Herunterfahren beim Neustart einige Minuten lang an:
A stop job is running for LSB: PM2 init script (... / 5min)
Von Zeit zu Zeit 1 gehe ich davon aus, dass PM2 nicht ordnungsgemäß heruntergefahren wird und die gesamten 5 Minuten hängen bleibt.
Auf diesem System weiß ich genau, welche Apps PM2 verwaltet, und es ist mir wirklich egal, ob sie ordnungsgemäß heruntergefahren werden.
Meine Frage lautet: Wie kann ich die Zeitüberschreitung von 5 Minuten auf etwa 15 Sekunden reduzieren? Wo ist das konfiguriert?
Ich habe in einem Forum gelesen, dass es der DefaultTimeoutStopSec
Schlüssel in /etc/systemd/system.conf ist , also habe ich versucht, dies auf "15s" zu setzen, aber es hatte keine Auswirkung. Ich habe das Gleiche auch in /etc/systemd/user.conf versucht, aber keine Änderung. Das Timeout ist immer noch auf 5 Minuten eingestellt.
1 Ich weiß genau, was dies auslöst, aber die Details sind nicht wichtig und der Effekt ist unvermeidlich.
stop
Skript gibt, können Sie es neu schreibenforcestop
, umpm2
anstelle eines ordnungsgemäßen Herunterfahrens ein oder sogar einen Kill auszuführen .stop
in pm2s Init-Skript nichts gemacht und es beim Herunterfahren natürlich sterben lassen. Es ist eine schreckliche Lösung für den allgemeinen Gebrauch, aber auf diesem speziellen System ist es in Ordnung. Ich möchte immer noch wissen, wie ich das 5-Minuten-Timeout ändern kann.Antworten:
Sie erstellen systemd von der Quelle neu und patchen das festverdrahtete Timeout
systemv-sysv-generator
vonTimeoutSec=5min
zu, was auch immer Sie wollen. Oder Sie fragen die Systemadministration nach einem Bedienknopf irgendwo in den Fedora / SUSE- oder LSB-Headern.Oder Sie geben die Verwendung dieses
rc
Skripts auf, das Sie haben, und schreiben eine systemd-Serviceeinheit für Ihren Service, deren Zeitlimits Sie mit einer explizitenTimeoutSec=
Einstellung festlegen können, die bei/etc/systemd/system/pm2.service.d/timeout.conf
Bedarf mit einer Drop-In-Einstellungsdatei installiert wird .In Anbetracht dieser , diese , diese , diese , diese und andere, die erste Regel für zu systemd Migration gilt auch hier.
Weitere Lektüre
quelle
/etc/systemd/system.conf
hat eine Linie#DefaultTimeoutStopSec=90s
was unkommentiert und geändert werden kann
quelle
nvme
Laufwerk - für wirklich schnelle Abschaltungen verwenden Alpine Linux (keinesystemd
)