Повышаю. Asio поддерживает обработку сигналов с помощью классаsignal_set. Программы могут добавлять один или несколько сигналов в набор, а затем выполнятьasync_wait.()Операция. Указанный обработчик будет вызван, когда произойдет один из сигналов. Один и тот же номер сигнала может быть зарегистрирован с множеством объектовsignal_set, однако номер сигнала должен использоваться только с Boost. Асио.
void handler(
const boost::system::error_code& error,
int signal_number)
{
if (!error)
{
}
}
...
boost::asio::signal_set signals(io_service, SIGINT, SIGTERM);
signals.async_wait(handler);
Обработка сигналов также работает в Windows, поскольку библиотека времени выполнения Microsoft Visual C++ отображает консольные события, такие как Ctrl + C, на эквивалентный сигнал.
signal_set,HTTP server example (C++03),HTTP server example (C++11).