У меня есть консольное приложение (program
), в котором используется модуль CRT. В Linux, когда я нажимаю CTRL+C
, ничего не происходит. Однако я хочу обработать этот сигнал SIGINT
, как и следовало ожидать (немедленно выйдя из программы). Я нашел некоторое уведомление о том, что использование CRT
переопределяет материал STDIN и STDOUT, так что обычные обработчики SIG не работают. В настоящее время я пробовал fpSignal(SIGINT, SignalHandler(@DoSig));
, но все еще нажатие CTRL+C
ничего не делает. Когда я отправляю SIGINT процессу вручную (через htop), срабатывает обработчик. Но не с помощью CTRL+C. К сожалению, не использовать CRT
блок не вариант.
Любая помощь приветствуется :)