Я разрабатываю приложение (на самом деле сервис / демон) в Linux на C ++, которое должно взаимодействовать с частью оборудования. Если моя программа не высвобождает чисто ресурсы для этой части оборудования при завершении работы, то мне придется перезагрузить драйвер устройства, процесс, который занимает около 10 минут, и по очевидным причинам необходимость ожидания 10 минут между каждым тестом программы будет
Итак, я использовал функцию sigaction ()
, чтобы поймать SIGINT (ctrl-c), чтобы моя программа могла корректно завершиться, когда я закончу с ней. При запуске программы с консоли это нормально работает. Однако при отладке в Netbeans или Eclipse (я пробовал оба) ничего не работает.
kill -SIGINT
, программа просто прерывается, как если бы она достигла точки останова kill -SIGINT
, поведение такое же, как описано выше kill
при отладке в Netbeans. На этот раз диалоговое окно не появляется, и обработчик сигналов никогда не срабатывает. Мне нужен какой-нибудь способ полностью завершить работу моего приложения во время отладки. Есть идеи?