void signal(int sinal, void(*tratamento)(int)(int))
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.
Retorna: void, função sem retorno.
Exemplo de uso da função:
//EXEMPLO SIGNAL()
#include <stdio.h>
#include <signal.h>
int main() {
signal(SIGTERM, SIG_IGN);
raise(SIGTERM);
printf("O programa não terminou a execução a ainda!\n");
return 0;
}
Saída do
terminal:
>clang-7 -pthread -lm -o main main.c
>./main
O programa não terminou a execução ainda!
int raise(int sig)
Recebe: um valor inteiro, que representa um dos sinais presentes no cabeçalho signal.h.
Retorna: 0, em caso de sucesso da execução da função, ou um valor diferente de zero, caso contrário.
Exemplo de uso da função:
//EXEMPLO RAISE()
#include <stdio.h>
#include <signal.h>
int main() {
printf("O programa terá sua execução interrompida!\n");
raise(SIGTERM);
printf("Eu avisei...\n");
return 0;
}
Saída do
terminal:
>clang-7 -pthread -lm -o main main.c
>./main
O programa terá sua execução interrompida!
Terminated