Перезагрузка приложения
Иногда желательно обновить конфигурационный файл и аккуратно перезагрузить приложение. Это можно сделать следующим образом.
Из Сигналов 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 →