Tengo node.js y pm2 instalados en un Pi (Raspbian). PM2 se configuró para iniciar vía pm2 startup
y los scripts de inicio que crea. A veces, cuando reinicio, el apagado se bloquea durante unos minutos en:
A stop job is running for LSB: PM2 init script (... / 5min)
De vez en cuando 1, lo que supongo es que PM2 no se cierra correctamente y se cuelga durante los 5 minutos completos.
En este sistema, sé exactamente qué aplicaciones administra PM2 y realmente no me importa si se cierran correctamente.
Mi pregunta es: ¿cómo reduzco el tiempo de espera de 5 minutos a, digamos, 15 segundos más o menos? ¿Dónde está configurado esto?
Leí en un foro que era la DefaultTimeoutStopSec
clave en /etc/systemd/system.conf , así que intenté establecerlo en "15s" pero no tuvo ningún efecto. Intenté lo mismo en /etc/systemd/user.conf , también, pero sin cambios. El tiempo de espera todavía está establecido en 5 minutos.
1 De hecho, sé específicamente qué desencadena esto, pero los detalles no son importantes y el efecto es inevitable.
stop
secuencia de comandos (predeterminada) , puede volver a escribirla para ejecutarforcestop
o incluso matar enpm2
lugar de un apagado correcto.stop
Debido a la desesperación que acabo de hacer en el script de inicio de pm2, no hago nada en absoluto, y lo dejé morir naturalmente en el apagado. Es una solución terrible para uso general, pero en este sistema en particular está bien. Sin embargo, todavía quiero saber cómo cambiar el tiempo de espera de 5 minutos.Respuestas:
Reconstruye systemd desde la fuente, parcheando el tiempo de espera cableado
systemv-sysv-generator
deTimeoutSec=5min
lo que desee. O le pide a la gente del sistema una perilla de control en algún lugar de los encabezados Fedora / SUSE o LSB.O, por el contrario, abandona el uso de este
rc
script que tiene y escribe una unidad de servicio systemd para su servicio, cuyos tiempos de espera puede establecer con unaTimeoutSec=
configuración explícita , instalada con un archivo de configuración desplegable/etc/systemd/system/pm2.service.d/timeout.conf
si es necesario.Dado esto , esto , esto , esto , esto y otros, la primera regla para migrar a systemd también se aplica aquí.
Otras lecturas
fuente
/etc/systemd/system.conf
tiene una linea#DefaultTimeoutStopSec=90s
que puede ser descomentado y cambiado
fuente
nvme
unidad; para paradas realmente rápidas, use Alpine Linux (nosystemd
)