Программирование на C и C++

Онлайн справочник программиста на C и C++

raise

int raise(int signal)

Прототип: 
Описание: 

Функция raise() посылает исполняющейся в текущий момент программе сигнал, который зада­ется параметром signal.

В файле signal.h определены следующие сигналы:

Макрос Значение
SIGABRT Ошибка завершения
SIGBREAK Пользователь нажал клавиши CTRL-Break
SIGFPE Ошибка операции с плавающей запятой
SIGILL Неверная инструкция
SIGINT Пользователь нажал клавиши CTRL-C
SIGSEGV Некорректный доступ к памяти
SIGTERM Завершить программу
SIGUSR1, SIGUSR2, SIGUSR3 Сигналы, определяемые пользователем

В случае успеха функция raise() возвращает 0.

Эта функция часто используется совместно с функцией signal().

Пример: 
Следующая программа посылает сигнал SIGTERM, вызывающий выполнение функции myhandler():
#include <signal.h>
#include <stdio.h>
#include <stdlib.h>

void myhandler(int);

int main(void)
{
signal(SIGTERM, myhandler);
raise (SIGTERM);
printf("This line will not be executed.\n");
return 0;
}

void myhandler(int notused)
{
printf("Program terminated.\n");
exit (1);
}