LINUX.ORG.RU

дамп


0

0

почему при нажатии Ctrl+q прога убивается а сабж не создается, я читал что должен...

anonymous

Re: дамп

звыняюсь, не ctrl+q, а при ctrl+\ по идее должен проге посылатся сигнал QUIT и прога должна рухнуть и должен записатся дамп?я что то не понимаю?
как сделать что бы если прога вылетает чтобы создавался сабж?

anonymous ()

Re: дамп

SIGQUIT что ли? Ну так прога его запросто может перехватить.

CyberCoder ()

Re: дамп

попробуй послать другой сигнал. Например, Ctrl+C

CyberCoder ()

Re: дамп

> почему при нажатии Ctrl+q прога убивается а сабж не создается, я читал что должен...

никто никому ничего не должен. если core вообще никогда не создаются, то проверить ulimit -a

anonymous ()

Re: дамп

core file size (blocks, -c) 0
data seg size (kbytes, -d) unlimited
file size (blocks, -f) unlimited
max locked memory (kbytes, -l) unlimited
max memory size (kbytes, -m) unlimited
open files (-n) 1024
pipe size (512 bytes, -p) 8
stack size (kbytes, -s) 8192
cpu time (seconds, -t) unlimited
max user processes (-u) 1978
virtual memory (kbytes, -v) unlimited

anonymous ()

Re: дамп

я думаю, здесь все ясно без комменариев

anonymous ()

Re: дамп

>я думаю, здесь все ясно без комменариев

и что тибе ясно? А?

ну устанавливаю я core file size в анлимитед. И шо? И ничего.
core dump'оп как небыло так и нет.

anonymous ()

Re: дамп

программа может перехватить сигнал SIGQUIT и при нажатии Ctrl+Q делать
все что ей заблагорассудится, а дамп+выход - эта реакция по умолчанию
т.е если SIGQUIT не перехватывается.

CyberCoder ()

Re: дамп

Например:

quit.c:
#include <stdio.h>
#include <signal.h>
#include <unistd.h>

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
Просек фишку?

CyberCoder ()

Re: дамп

хорошо. тогда поставлю вопрос по другому. возможно ли сделать чтобы при обрушении любой проги ее дамп сбрасывался на диск? ниужели низя?

anonymous ()

Re: дамп

>хорошо. тогда поставлю вопрос по другому. возможно ли сделать чтобы >при обрушении любой проги ее дамп сбрасывался на диск? ниужели низя?

Нет, нельзя.
Дамп создается только, если сигнал, посылаемый процессу не обрабатывается
отличным от "умолчательного" способом И этот сигнал по умолчанию создает дамп. Если это условие не выполняется - дамп не создается.

CyberCoder ()

Re: дамп

а жаль...

anonymous ()

Re: дамп

можно изучить man 7 signal и попосылать сигналы, которые дампают, но обрабатываются редко. Скажем, SIGBUS.

anonymous ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.