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