J'ai node.js et pm2 installés sur un Pi (Raspbian). PM2 a été configuré pour démarrer via pm2 startup
et les scripts init qu'il crée. Parfois, lorsque je redémarre, l'arrêt se bloque pendant quelques minutes sur:
A stop job is running for LSB: PM2 init script (... / 5min)
De temps en temps1 ce que je suppose est que PM2 ne s'arrête pas correctement et se bloque pendant les 5 minutes complètes.
Sur ce système, je sais exactement quelles applications PM2 gère et je me fiche vraiment qu'elles s'arrêtent correctement.
Ma question est: comment puis-je réduire le délai d'attente de 5 minutes à, disons, 15 secondes environ? Où est-ce configuré?
J'ai lu sur un forum que c'était la clé DefaultTimeoutStopSec
dans / etc/systemd/system.conf, j'ai donc essayé de la régler sur "15s" mais cela n'a eu aucun effet. J'ai essayé la même chose dans / etc/systemd/user.conf, aussi, mais aucun changement. Le délai est toujours réglé sur 5 minutes.
1 En fait, je sais précisément ce qui déclenche cela, mais les détails ne sont pas importants et l'effet est inévitable.
Comment puis-je réduire le délai d'attente de 5 minutes à, disons, 15 secondes environ?
Vous recréez systemd à partir de la source, en corrigeant le délai câblé dans systemv-sysv-generator
de TimeoutSec=5min
Vers ce que vous voulez. Ou vous demandez aux gens de systemd un bouton de commande quelque part dans les en-têtes Fedora/SUSE ou LSB.
Ou, d'une part, vous abandonnez l'utilisation de ce script rc
que vous avez et écrivez une unité de service systemd pour votre service, dont vous pouvez définir des délais d'attente avec un paramètre explicite TimeoutSec=
, Installé avec un fichier de paramètres de dépôt dans /etc/systemd/system/pm2.service.d/timeout.conf
si nécessaire.
Étant donné ce , ce , ce , ce , ce , et d'autres, le la première règle de migration vers systemd s'applique également ici.
/etc/systemd/system.conf
a une ligne
#DefaultTimeoutStopSec=90s
qui peut être non commenté et modifié