Основная обработка сигналов в C ++

Это довольно простой сценарий, но я не нахожу слишком много полезных ресурсов. У меня есть программа C ++, работающая в Linux, которая выполняет обработку файлов. Читает строки, выполняет различные преобразования, записывает данные в базу данных. Есть определенные переменные (хранящиеся в базе данных), которые влияют на обработку, которую я в настоящее время читаю на каждой итерации, потому что я хочу, чтобы обработка была как можно более актуальной, но небольшая задержка - это нормально. Но эти переменные меняются довольно редко, и чтения со временем обходятся дорого (10 миллионов плюс строки в день). Я мог бы разнести чтения каждомуn итерации или просто перезапустите программу, когда переменная меняется, но они кажутся хакерскими.

Вместо этого я хотел бы, чтобы программа вызывала перечитывание переменных при получении SIGHUP. Все, что я читаю об обработке сигналов, говорит о библиотеке сигналов C, которую я не знаю, как связать с классами моей программы. Библиотеки сигналов Boost, похоже, больше связаны с межобъектной связью, чем с обработкой сигналов ОС.

Кто-нибудь может помочь? Кажется, что это должно быть невероятно просто, но я довольно заржавел с C ++.

Ответы на вопрос(4)

Ваш ответ на вопрос