звыняюсь, не ctrl+q, а при ctrl+\ по идее должен проге посылатся сигнал QUIT и прога должна рухнуть и должен записатся дамп?я что то не понимаю?
как сделать что бы если прога вылетает чтобы создавался сабж?
программа может перехватить сигнал SIGQUIT и при нажатии Ctrl+Q делать
все что ей заблагорассудится, а дамп+выход - эта реакция по умолчанию
т.е если SIGQUIT не перехватывается.
void on_quit()
{
signal(SIGQUIT,on_quit);
printf("I dont like cores\n");
}
int main()
{
signal(SIGQUIT,on_quit);
sleep(10);
return 0;
}
Собираем
gcc -o quit quit.c
Запускаем:
./quit
НАЖИМАЕМ Ctrl+Q (или что там нужно для посылки SIGQUIT?)...
А ПРОГРАММА ВЫДАЕТ:
I dont like cores
Просек фишку?
>хорошо. тогда поставлю вопрос по другому. возможно ли сделать чтобы >при обрушении любой проги ее дамп сбрасывался на диск? ниужели низя?
Нет, нельзя.
Дамп создается только, если сигнал, посылаемый процессу не обрабатывается
отличным от "умолчательного" способом И этот сигнал по умолчанию создает дамп. Если это условие не выполняется - дамп не создается.