2010-09-10 3 views
0

Я недавно наткнулся на приложение, которое застыло в обработчике SIGABRT, без какого-либо другого сигнала, зарегистрированного для немедленного сброса ядра. Пока мы не стандартизируем выход из одного из SIGSTOP, SIGABRT, SIGTRAP и т. Д., Мы просто используем gcore и SIGKILL, но, учитывая, что проблема с обработкой была проблемой, я задавался вопросом, почему нет SIGSTOP и SIGKILL стандартного SIGCORE которые не могут быть пойманы или проигнорированы. Кто-нибудь знает, почему он был или не должен быть добавлен?Почему нет неуловимого сигнала coredump?

ответ

0

Причина может заключаться в том, что у программиста есть способ избежать выполнения стандартного обработчика ошибок. Иногда стандартный обработчик может быть «неправильным» (например, «основная» файловая разбивка может быть медленной или дорогостоящей из-за утечки дискового пространства). Для каждого «разумного» «стандартного» поведения ошибки есть приложение (или, возможно, программист), который считает, что лучше его изменить ...