Обработка сигналов Unix в (общем) lisp

Я провел небольшое исследование по этому вопросу и обнаружил пробелы. Кажется, существуют способы обработки сигналов Unix в Common Lisp, зависящие от реализации, но есть ли пакет, который предоставляет кросс-реализационный способ обработки сигналов?

В основном я хотел бы прослушивать SIGINT и корректно завершать работу в своем приложении. Я использую Clozure CL 1.7 в Linux...как уже упоминалось, для этого было бы здорово использовать пакет, но если мне придется прибегнуть к коду, специфичному для реализации, это нормально.

Я также не совсем согласен с использованием SIGINT (хотя это идеально). Я могу использовать другой сигнал, если это необходимо.

Если это будет грязно, есть ли у кого-нибудь другие предложения по корректному закрытию приложения lisp из-за пределов приложения? У меня была одна идея — создать файл, который отслеживает приложение, и если оно обнаружит файл, оно выключится... хотя это немного хакерски.

Спасибо!

11
задан krzysz00 31 March 2012 в 02:58
поделиться