У меня есть версия командной строки приложения Eclipse RCP GUI, которое может использовать множество одних и тех же плагинов (это удобно для интеграционного тестирования). Одна вещь, которую он делает, это подключается к серверу, запрашивает материал и запускает интерактивный цикл. Чтобы выйти, пользователь приложения с графическим интерфейсом может остановить цикл и закрыть приложение.
В моем приложении командной строки наиболее очевидным способом «закрыть» приложение является CTRL-C! Однако это оставляет «сессионную грязь» на сервере, которую можно очистить, если я смогу перехватить сигнал выхода. Грязь в конечном итоге истечет или что-то в этом роде, но было бы неплохо, если бы я тоже мог разобраться с этим чисто.
Итак, каковы мои варианты захвата сигнала уничтожения из приложения Eclipse RCP? Это специфично для Linux, если это поможет. Но я не загружаю плагины SWT. Мой «основной цикл» Plugin.stop() не вызывается, когда я нажимаю ctrl-c в командной строке. Что-то вроде KeyboardInterrupt в Python было бы превосходно!