Майкл К. Джонсон, Эрик В. Троан - Разработка приложений в среде Linux :
Дамп ядра программы содержит полную хронологию состояния программы передее уничтожением. Дамп ядра выгружается в файл по имени core, расположенный в текущем каталоге процесса. Когда процесс нарушает какие-то системные требования (например, пытается обратиться к памяти, доступ к которой запрещен) , ядро прерывает процесс, вызывая встроенную версию kill () с параметром, который заставляет выгрузить дамп ядра. Ядро может уничтожать процессы по разным причинам, включая арифметические ошибки, такие как деление на ноль, либо по причине выполнения программой некорректных инструкций, либо при попытке доступа к запрещенной области памяти. Последняя причина вызывает ошибку сегментации, что выражается в сообщении segmentation fault (core dumped) (ошибка сегментации (дамп ядра сброшен)) . Если для процесса установлен лимит на размер файла дампа, равный 0, то никакой дамп ядра не выгружается.
SIGCHLD - Этот сигнал посылается процессу, когда один из его дочерних процессов устаревает или остановлен. Это позволяет процессу избежать появления"зомби" за счет вызова одной из функций wait () из обработчика сигнала. Если родитель всегда ожидает завершения дочерних процессов, прежде чем продолжить работу, этот сигнал может быть проигнорирован.
Сигнал SIGABRT заставляют программу перед уничтожением сбрасывать дамп ядра (dump core).
интересная книга, советую почитать.