¿Cuál es la mejor manera de enviar un parche para reparar todo el daño que causa LP: # 600941 ?
Pregunto porque LP: # 600941 se puso en todas las versiones de Ubuntu que todavía son compatibles en este momento. ¿Debo elegir una versión en particular y ejecutarla ubuntu-bug
? ¿Debería esa versión ser LTS o Oneiric o Precise (¿cómo puedo obtener Precise si lo necesito?)
La historia es que después de que fue expulsado, todos nuestros sistemas comenzaron a experimentar fallas de reinicio de Nagios nrpe.
Comandos como /etc/init.d/nagios-nrpe-server restart
haría que nrpe se detuviera pero no se reiniciara.
Rastreé esto hasta la forma en que el /etc/init.d/nagios-nrpe-server
guión está llamando start-stop-daemon
.
El problema es que la estrofa "stop" en el /etc/init.d/nagios-nrpe-server
script primero llama a start-stop-daemon que envía SIGTERM a nrpe y luego espera solo un segundo.
Si nrpe no ha salido para ese momento, el archivo pid seguirá existiendo y el /etc/init.d/nagios-nrpe-server
script lo eliminará.
Peor aún si /etc/init.d/nagios-nrpe-server restart
se usa, no solo se eliminará el archivo pid, el intento de reiniciar nrpe fallará siempre que el demonio nrpe aún se retrase en el cierre.
El intento de iniciar en esas circunstancias fallará porque nrpe aún estará vinculado a un socket y el segundo intento de vinculación hará que el inicio de nrpe se cancele.
Deberían haberse preguntado por qué había un comentario sobre "a veces el archivo pid no se elimina".
Deberían haber probado en sistemas que tienen una carga pesada y, por lo tanto, tiempos de respuesta nrpe lentos.
La solución es agregar --retry 10
o tal a la invocación destart-stop-daemon ... --stop ...
Gracias