signal.h é um arquivo cabeçalho da biblioteca padrão da linguagem de programação C que contém protótipos para funções e definições para receber e manipular sinais. Sinais são notificações assíncronas de eventos diversos como falhas de hardware ou recepção de caracteres no terminal que podem ser utilizadas como uma forma de comunicação entre processos.

A função signal() associa um comportamento que o processo deve ter ao receber o sinal, que pode ser o comportamento padrão, ignorar o sinal ou executar uma função específica. Em especial os sinais SIGKILL e SIGSTOP não podem ser tradados com uma função ou ignorados.

Também são providas as funções raise() e kill(). A primeira envia um sinal para o próprio processo e a segunda envia um sinal para um outro processo ou para um outro grupo de processos.

A função associada ao recebimento de um sinal é chamada tratadora de sinais . A execução do processo é suspensa até que a função retorne ou chame longjmp. O comportamento de um processo após ignorar os sinais SIGFPE (exceção de ponto flutuante), SIGILL (instrução ilegal) e SIGSEGV (falha de segmentação) que não tenha sido gerado por kill() ou raise() não é definido conforme o padrão POSIX.

Constantes Constante Significado DisponibilidadeSIGHUP Desconexão POSIX SIGINT Interrupção ANSISIGQUIT Sair POSIXSIGILL Instrução ilegal ANSISIGABRT Abortar ANSISIGTRAP Armadilha de rastreio POSIXSIGIOT Armadilha para IOT 4.2 BSDSIGEMT Armadilha para EMT 4.2 BSDSIGFPE Exceção de ponto flutuante ANSISIGKILL Matar processo POSIXSIGBUS Erro no BUS 4.2 BSDSIGSEGV Falha de segmentação ANSISIGSYS Argumento incorreto para syscall 4.2 BSDSIGPIPE Pipe quebrado POSIXSIGALRM Alarme POSIXSIGTERM Término ANSISIGUSR1 Sinal definido pelo usuário 1 POSIXSIGUSR2 Sinal definido pelo usuário 2 POSIXSIGCHLD Mudança de estado no processo filho POSIXSIGCLD Mesmo que SIGCHLD System VSIGPWR Reinício por falha de energia System VSIGXCPU Excedeu o tempo de CPU POSIXSIGSTOP Pausar execução POSIXSIGCONT Continuar execução POSIX

Categoria:C (linguagem de programação)