Mam node.js i pm2 zainstalowane na Pi (Raspbian). PM2 został skonfigurowany do uruchamiania przez pm2 startup
i tworzone przez niego skrypty inicjujące. Czasami po ponownym uruchomieniu system wyłącza się na kilka minut:
A stop job is running for LSB: PM2 init script (... / 5min)
Co jakiś czas 1 zakładam, że PM2 nie zamyka się prawidłowo i zawiesza się przez pełne 5 minut.
W tym systemie wiem dokładnie, którymi aplikacjami zarządza PM2 i naprawdę nie dbam o to, czy zamykają się prawidłowo.
Moje pytanie brzmi: jak skrócić limit czasu z 5 minut do, powiedzmy, 15 sekund lub więcej? Gdzie to jest skonfigurowane?
Przeczytałem na forum, że był to DefaultTimeoutStopSec
klucz w /etc/systemd/system.conf , więc próbowałem ustawić to na „15s”, ale to nie miało żadnego efektu. Próbowałem tego samego w /etc/systemd/user.conf , ale bez zmian. Limit czasu jest nadal ustawiony na 5 minut.
1 Właściwie wiem dokładnie, co to powoduje, ale szczegóły nie są ważne, a efekt jest nieunikniony.
stop
skrypt, możesz napisać go ponownie, aby wykonać aforcestop
nawet zabićpm2
zamiast płynnego zamknięcia.stop
wykonałem w skrypcie init pm2, nic nie rób i pozwól mu umrzeć naturalnie po wyłączeniu. To okropne rozwiązanie do ogólnego użytku, ale w tym konkretnym systemie jest w porządku. Nadal chcę wiedzieć, jak zmienić limit 5 minut.Odpowiedzi:
Przebudowujesz systemd ze źródła, łatając czas oczekiwania na połączenie
systemv-sysv-generator
odTimeoutSec=5min
tego, co chcesz. Lub poprosisz systemowych ludzi o pokrętło kontrolne gdzieś w nagłówkach Fedora / SUSE lub LSB.Lub, chwytając rękę, rezygnujesz z używania tego
rc
skryptu, który masz, i piszesz systemową jednostkę serwisową dla swojej usługi, której limity czasu możesz ustawić za pomocą jawnegoTimeoutSec=
ustawienia, zainstalowanego z plikiem ustawień drop-in,/etc/systemd/system/pm2.service.d/timeout.conf
jeśli to konieczne.Biorąc pod uwagę to , to , to , to , to i inne, tutaj obowiązuje również pierwsza reguła migracji do systemd.
Dalsza lektura
źródło
/etc/systemd/system.conf
ma linię#DefaultTimeoutStopSec=90s
które można odrzucić i zmienić
źródło
nvme
dysku - do naprawdę szybkich postojów wykorzystują Alpine Linux (braksystemd
)