Функція signal () в C ++ встановлює обробник помилок для вказаного сигналу.
signal () Прототип
void (* signal (int sig, void (* func) (int))) (int);
signalФункція визначає метод для обробки сигналу. Обробник сигналу може бути встановлений таким чином, що виконується одна з наступних дій:
- Обробка сигналу за замовчуванням.
 - Ігнорувати сигнал.
 - Функція, що визначається користувачем, викликається для обробки сигналу.
 
Це визначається у файлі заголовка "> файл заголовка.
Параметри сигналу ()
- sig: сигнал, який повинен обробляти обробник сигналу. Це може мати одне з таких значень:
- SIGABRT
 - SIGFPE
 - СИГІЛ
 - ЗНАК
 - SIGSEGV
 - SIGTERM
 
 - обробник: обробник сигналу, який обробляє сигнал. Це може бути одне з наступного:
- SIG_DFL: обробка за замовчуванням.
 - SIG_IGN: Ігнорувати сигнал.
 - Покажчик на функцію: визначена користувачем функція для обробки сигналу. Підпис функції повинен бути еквівалентним наступному:
порожнеча веселощів (int sig);
 
 
signal () Повернене значення
У разі успіху він повертає попередній обробник сигналу, а при відмові повертається SIG_ERR.
Приклад: Як працює функція signal ()
 #include #include using namespace std; sig_atomic_t signalled = 0; void handler(int sig) ( signalled = 1; ) int main() ( signal(SIGINT, handler); raise(SIGINT); if (signalled) cout << "Signal is handled"; else cout << "Signal is not handled"; return 0; )
Коли ви запускаєте програму, результат буде:
Сигнал обробляється








