Что такое SIG44 в GDB? - PullRequest
       12

Что такое SIG44 в GDB?

2 голосов
/ 18 ноября 2010

Иногда, когда я отлаживаю, я получаю сообщение, подобное этому.

Program received signal SIG44, Real-time event 44.

Что это значит?

Спасибо.

РЕДАКТИРОВАТЬ:

Платформа Linux

1 Ответ

6 голосов
/ 18 ноября 2010

Сигнал - это сообщение, отправленное ядром процессу, чтобы уведомить процесс о том, что в системе произошло какое-то событие.

Обычными сигналами в linux являются, например, SIGINT (значение 2, прерывание с клавиатуры) или SIGKILL (значение 9, убить программу).

Сигналы принимаются либо когда ядро ​​обнаруживает системное событие (например, деление на ноль - SIGFPE, значение 8), либо когда процесс вызывает функцию kill (), чтобы явно указать ядру отправить сигнал процессу (или сам процесс, который вызвал kill ()).

Процесс может часто перехватывать сигнал, чтобы что-то сделать.

Итак, чтобы ответить на ваш вопрос, код, скорее всего, вызывает функцию kill () и посылает ей сигнал со значением 44, когда что-то происходит. Поскольку вы получаете это сообщение, это означает, что процесс получил сигнал и собирается выйти или выполнить то, что написано в коде, в случае поступления этого сигнала.

В отличие от стандартных сигналов, в режиме реального времени сигналы не имеют предопределенных значений: весь набор сигналов в реальном времени может использоваться для определенного приложения цели. (Обратите внимание, однако, что Реализация LinuxThreads использует первые три сигнала в реальном времени.)

Источник цитаты здесь

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