2013-08-19 1 views
0

Мне нужно написать набор функций C++, который будет храниться в отдельном файле библиотеки, который будет использоваться для аварийного запуска различных приложений Linux, сделанных другими людьми. Для функционирования таких функций необходимо установить обработчики сигналов.Как убедиться, что сигналы достигают функции регистрации?

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

+0

Проверьте, можете ли вы получить «Как создать дамп ядра» и подражать/добавить плагин в этот момент. Это проще сказать, чем сделать, поскольку вам придется обрабатывать вещи на уровне ядра. –

+0

Спасибо за вход, kumar_m_kiran :) –

ответ

0

Вы можете реализовать такие функции, как signal, sigaction, sigprocmask и т.д. в вашей библиотеке, так что они используются вместо тех, которые определены в Glibc для того, чтобы предотвратить переопределение обработчиков сигналов и блокируют ваши сигналы.

Приложение по-прежнему может обойти это путем прямого вызова соответствующих системных вызовов.

Смежные вопросы