Manejo básico de señal en C ++

Este es un escenario bastante básico, pero no encuentro demasiados recursos útiles. Tengo un programa C ++ ejecutándose en Linux que procesa archivos. Lee líneas, realiza varias transformaciones, escribe datos en una base de datos. Hay ciertas variables (almacenadas en la base de datos) que afectan el procesamiento que estoy leyendo actualmente en cada iteración porque quiero que el procesamiento esté lo más actualizado posible, pero un pequeño retraso está bien. Pero esas variables cambian muy raramente, y las lecturas son caras con el tiempo (más de 10 millones de filas al día). Podría espaciar las lecturas a cadan iteraciones o simplemente reiniciar el programa cuando cambia una variable, pero parece hackear.

Lo que me gustaría hacer es que el programa active una nueva lectura de las variables cuando reciba un SIGHUP. Todo lo que estoy leyendo sobre el manejo de señales está hablando de la biblioteca de señales C, que no estoy seguro de cómo vincular a las clases de mi programa. Las bibliotecas de señales de Boost parecen tener más que ver con la comunicación entre objetos que con el manejo de las señales del sistema operativo.

¿Alguien puede ayudar? Parece que esto debería ser increíblemente simple, pero estoy bastante oxidado con C ++.

Respuestas a la pregunta(4)

Su respuesta a la pregunta