Это возможно начиная с версии Erlang / OTP 20.0, выпущенной в июне 2017 года. Это было выполнено через этот запрос на извлечение , который добавляет диспетчер событий для сигналов, называемых erl_signal_server
. См. Раздел «Обработчик сигналов ОС» в на странице kernel
руководства .
Если вас интересует SIGUSR1, обратите внимание, что обработчик по умолчанию остановит Erlang VM и создаст аварийный дамп. Чтобы избежать этого, недостаточно добавить собственный обработчик в erl_signal_server
; Вы должны поменять местами обработчик по умолчанию:
gen_event:swap_handler(erl_signal_server, {erl_signal_handler, []}, {foo, []}).