Signal.h

Da Wikipédia, a enciclopédia livre

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[1] 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[2].

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

A função associada ao recebimento de um sinal é chamada tratadora de sinais[5][6]. 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[7].

Constantes

Mais informação Constante, Significado ...
ConstanteSignificadoDisponibilidade
SIGHUPDesconexãoPOSIX
SIGINTInterrupçãoANSI
SIGQUITSairPOSIX
SIGILLInstrução ilegalANSI
SIGABRTAbortarANSI
SIGTRAPArmadilha de rastreioPOSIX
SIGIOTArmadilha para IOT4.2 BSD
SIGEMTArmadilha para EMT4.2 BSD
SIGFPEExceção de ponto flutuanteANSI
SIGKILLMatar processoPOSIX
SIGBUSErro no BUS4.2 BSD
SIGSEGVFalha de segmentaçãoANSI
SIGSYSArgumento incorreto para syscall4.2 BSD
SIGPIPEPipe quebradoPOSIX
SIGALRMAlarmePOSIX
SIGTERMTérminoANSI
SIGUSR1Sinal definido pelo usuário 1POSIX
SIGUSR2Sinal definido pelo usuário 2POSIX
SIGCHLDMudança de estado no processo filhoPOSIX
SIGCLDMesmo que SIGCHLDSystem V
SIGPWRReinício por falha de energiaSystem V
SIGXCPUExcedeu o tempo de CPUPOSIX
SIGSTOPPausar execuçãoPOSIX
SIGCONTContinuar execuçãoPOSIX
Fechar

Referências

  1. «signal.h, signal - base signals». Consultado em 5 de Novembro de 2014. Arquivado do original em 5 de julho de 2010
  2. «signal(2) - Linux man page» (em inglês). Linux Documentation. Consultado em 5 de Novembro de 2014
  3. «BSD Library Functions Manual: raise(3)». Consultado em 5 de Novembro de 2014
  4. «kill(2) - Linux man page» (em inglês). Linux Documentation. Consultado em 5 de Novembro de 2014
  5. «MC504/MC514 - Sistemas Operacionais: Processos e Sinais» (PDF). Consultado em 5 de Novembro de 2014
  6. «The Open Group Base Specifications Issue 7: signal - signal management». The Open Group. Consultado em 5 de Novembro de 2014
Loading related searches...

Wikiwand - on

Seamless Wikipedia browsing. On steroids.