Learning about signals, I found out that calling the <stdlib.h>
functionabort(void);
in a C program, which roughly equals to raising a SIGABRT
signal, doesn't create a core
file on my Ubuntu 13.04 despite having set ulimit -c
to unlimited
and receiving a core dumped
message.
Following the signal(7)
manpage , I killed a running instance of yes
with all the signals marked with the Core
flag, whose default action is declared to be the termination of the process and dumping the core.
Out of all the signals mentioned (SIGILL, SIGABRT, SIGFPE, SIGSEGV, SIGBUS, SIGSYS, SIGTRAP, SIGXCPU, SIGXFSZ, SIGIOT, SIGQUIT
), however, only SIGQUIT
caused the creation of a core
file.
Is this documented and / or configurable behaviour, or is it a quirk?