Я провел небольшое исследование по этому вопросу и обнаружил пробелы. Кажется, существуют способы обработки сигналов Unix в Common Lisp, зависящие от реализации, но есть ли пакет, который предоставляет кросс-реализационный способ обработки сигналов?
В основном я хотел бы прослушивать SIGINT и корректно завершать работу в своем приложении. Я использую Clozure CL 1.7 в Linux...как уже упоминалось, для этого было бы здорово использовать пакет, но если мне придется прибегнуть к коду, специфичному для реализации, это нормально.
Я также не совсем согласен с использованием SIGINT (хотя это идеально). Я могу использовать другой сигнал, если это необходимо.
Если это будет грязно, есть ли у кого-нибудь другие предложения по корректному закрытию приложения lisp из-за пределов приложения? У меня была одна идея — создать файл, который отслеживает приложение, и если оно обнаружит файл, оно выключится... хотя это немного хакерски.
Спасибо!