Descrição:


No cabeçalho signal.h estão presentes funções e macros que lidam com os sinais enviados pelo programa executado no momento em que ele está sendo executado, como, por exemplo, quando o programa é finalizado de forma anormal ou quando algum tipo de operação aritmética apresenta erros, como a divisão por zero.

Macros:

SIG_DFL: indica o tratamento padrão fornecido pelo sistema pelo envio de algum sinal enviado pelo programa em execução.

SIG_IGN: indica que o tratamento fornecido para um tipo de sinal será ignorá-lo.

SIG_ERR: sinal padrão para o tratamento de sinais que indicam erro.

SIGABRT: programa finalizado de forma anormal, com execução inesperada.

SIGFPE: erro em operações de aritmética, como operações aritméticas proibidas ou tentativa de operar com valores que extrapolam os limites de um determinado tipo.

SIGILL: instrução não permitida.

SIGINT: interrupção de execução do programa, como quando o usuário forçadamente cancela a execução.

SIGSEGV: erro de acesso de memória, seja por tentar acessar um posição de memória não permitida ou por tentativa de uso de memória sendo que não existe mais espaço na mesma.

SIGTERM: requisição de finalização do programa.

Funções:

void signal(int sinal, void (*tratamento)(int))(int)

RETORNA: void, função sem retorno.
RECEBE: uma variável inteira que indica qual dos sinais deve ser tratado adiante e qual o tratamento deve ser dado quando o programa enviar um sinal do tipo informado.

int raise(int sig)

RETORNA: 0, em caso de sucesso da execução da função, ou um valor diferente de zero, caso contrário.
RECEBE: um valor inteiro, que representa um dos sinais presentes no cabeçalho signal.h.