Ядро сбрасывается только после получения SIGQUIT
Узнав о сигналах, я узнал, что <stdlib.h>
функцияabort(void);
в программе C, которая примерно равна поднятию SIGABRT
сигнал, не создает core
файл на моем Ubuntu 13.04, несмотря на установленный ulimit -c
в unlimited
и получать core dumped
сообщение.
После signal(7)
manpage, я убил работающий экземпляр yes
со всеми сигналами, помеченными Core
флаг, действие по умолчанию которого объявлено как завершение процесса и выгрузка ядра.
Из всех упомянутых сигналов (SIGILL, SIGABRT, SIGFPE, SIGSEGV, SIGBUS, SIGSYS, SIGTRAP, SIGXCPU, SIGXFSZ, SIGIOT, SIGQUIT
), однако, только SIGQUIT
вызвало создание core
файл.
Это документированное и / или настраиваемое поведение, или это странная вещь?