Manipulação básica de sinal em C ++

Este é um cenário bastante básico, mas não estou encontrando muitos recursos úteis. Eu tenho um programa C ++ em execução no Linux que processa arquivos. Lê linhas, realiza várias transformações, grava dados em um banco de dados. Existem certas variáveis (armazenadas no banco de dados) que afetam o processamento que estou lendo no momento a cada iteração, porque quero que o processamento seja o mais atualizado possível, mas um pequeno atraso é bom. Mas essas variáveis mudam muito raramente, e as leituras são caras ao longo do tempo (10 milhões mais linhas por dia). Eu poderia espaçar as leituras para todosn iterações ou simplesmente reinicie o programa quando uma variável for alterada, mas elas parecerão hackeadas.

O que eu gostaria de fazer é fazer com que o programa acione uma releitura das variáveis quando receber um SIGHUP. Tudo o que estou lendo sobre manipulação de sinais está falando sobre a biblioteca de sinais C, que não tenho certeza de como vincular às aulas do meu programa. As bibliotecas de sinais Boost parecem ser mais sobre comunicação entre objetos, em vez de lidar com sinais do SO.

Alguém pode ajudar? Parece que isso deve ser incrivelmente simples, mas estou muito enferrujado com C ++.

questionAnswers(4)

yourAnswerToTheQuestion