Как обрабатывать сигнал ctrl-break в интерфейсе командной строки

Прежде чем начать, я хочу пояснить, что это не инструмент командной строки, а приложение, которое принимает команды через него ».собственный интерфейс командной строки.

Редактировать: Я должен извиниться за свое объяснение, видимо, я нене очень хорошо объяснил. Еще раз...

Я строю приложение интерфейса командной строки, которое принимает команды от пользователя. У меня есть настройка обработчика сигналов для перехвата сигналов, которая затем устанавливает флаг, который мне нужен для завершения приложения. Проблема яу меня есть все консольные функции, которые я могу найти, являются блокирующими, что означает, что я могу 'не обнаружил, что мне нужно выйти из цикла обработки консоли, пока пользователь не нажмет клавишу (или не введет, в зависимости от функции).

Есть ли какой-то стандартный способ, которым я могу выполнять неблокируемое взаимодействие с консолью, или есть элегантный способ структурировать программу так, чтобы, если я просто завершу работу с сигнальным потоком, все было обработано и освобождено должным образом (пожалуйста, неЯ не понимаю этого, я знаю, как это можно сделать, используя блокировку и освобождение ресурсов из потока сигнализации, но это может стать грязным, поэтому яя бы предпочел этого избежать)

Надеюсь, это объяснение имеет больше смысла ...

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

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