Завершается из-за 6 сигнала - PullRequest
3 голосов
/ 25 февраля 2010

Я скомпилировал и запустил свой код и получил следующую ошибку:

Terminating because of 6 signal

Что такое сигнал 6 и что его вызывает?

Ответы [ 2 ]

6 голосов
/ 25 февраля 2010

Вероятно, речь идет о сигнале 6, который является SIGABRT, то есть прерывается. Сам код, скорее всего, называется abort(), или, возможно, сбой подтверждения.

Вы можете перечислить номера сигналов из командной строки, используя

kill -l

НТН.

5 голосов
/ 25 февраля 2010

Сигнал 6 обычно SIGABRT.

Единственное, что вызывает это системный вызов 'abort ()'.

Похоже, ваша программа также имеет обработчик сигнала, который перехватывает SIGABRT и распечатывает сообщение, например:

void handler(int signum)
{
    fprintf(stderr, "Terminating because of %d signal\n", signum);
    exit(1);
}

Вы также можете использовать системные функции 'kill ()' или 'Повышать ()' с SIGABRT (или 6) в качестве аргумента сигнала. Сигнал также может быть отправлен другим процессом.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...