Скажем, (очень) большой процесс дает сбой и сбрасывает ядро, и мы знаем причину из другой информации (возможно, сообщения assert, может быть, чего-то еще).
Есть ли способ предотвратить полное создание дампа ядра, поскольку в данном случае это пустая трата?
Например, может ли kill -9 процесса дампа ядра прервать генерацию corefile?
Очевидно, если бы мы знали заранее, что нам не нужны дампы ядра, мы могли бы установить ulimit соответствующим образом или использовать различные утилиты управления основными файлами ОС.
Но этот вопрос про стадию "дамп ядра уже в процессе" ...
(Например, представьте, что я запрашивающий в https://stackoverflow.com/questions/18368242/how-to-bypass-a-2tb-core-dump-file-system-limit и не хотите тратить 5-6 ТБ дискового пространства :))
В общем: нет, надежно убить coredump нет возможности.
При этом есть возможность (по крайней мере, в Linux) для коммерческого * NIX, вероятно, никоим образом
Вероятность заключается в том, что ядро серии 3.x может прерывать запись файлов. Одна из возможностей - найти поток, выполняющий дамп, и многократно посылать ему SIGKILL, пока он не завершится успешно.
это патч серия устраняет проблему до некоторого уровня.
Другая возможность - использовать альтернативный синтаксис для coredump_pattern. В руководстве говорится, что с версии 2.6.19 вместо шаблона вы можете использовать канал и программу (с параметрами), которая будет обрабатывать дамп. Следовательно, у вас будет контроль, какой дамп будет записан куда (/ dev / null - очевидный кандидат для ваших бесполезных ядер).
Этот патч тоже заслуживает внимания: http://linux.derkeiler.com/Mailing-Lists/Kernel/2010-06/msg00918.html
проверьте эту ссылку, это может быть полезно
https://publib.boulder.ibm.com/httpserv/ihsdiag/coredumps.html
Похоже, вы можете запустить ulimit -c (при условии, что вы используете bash), чтобы ограничить размер дампа ядра.
Видеть: https://askubuntu.com/questions/220905/how-to-remove-limit-on-core-dump-file-size
и