Перезагрузка приложения
Иногда желательно обновить конфигурационный файл и аккуратно перезагрузить приложение. Это можно сделать следующим образом.
Из Сигналов Unix), для перезагрузки приложения можно использовать SIGHUP (SIGHUP позволяет дочерним процессам аккуратно завершиться после окончания текущей работы).
В коде приложения это можно использовать так:
static cppcms::service* srv;
static bool got_sighup;
handler()
{
got_sighup = true;
srv->shutdown();
}
И в main():
while(1) {
cppcms::service srv(...)
srv.run();
if(got_sighup) {
got_sighup = false;
continue;
}
break;
}
Т.о. когда в приложение придет SIGHUP, оно перезапустится и перезагрузит конфигурационный файл. Приложение завершится по SIGTERM.
← Кодировка и UTF-8 | Верх | Howto →
