Como é feita a tratativa do Signal POSIX em um programa C++ - Parte 1

Aula 45 · GNU/Linux para Servidores

Durante esta aula, foram abordados os conceitos de tratativa de sinais em um programa C++. O objetivo é entender como controlar e lidar com eventos específicos dentro do processo, sem que ele seja interrompido prematuramente. Um exemplo prático mencionado foi o comando NoHup, que permite a continuidade de processos mesmo quando a sessão terminal cai. Foram discutidas funções como aguardar um sinal, enviar uma ordem de kill, suspender ou enviar um sinal de exceção. O código demonstra a importação da biblioteca cs signal e unistd para lidar com sinais. A criação de uma função nomeada por convenção "sighandler" que se torna o manipulador do evento de sinal foi explicada, sendo que esta função é ligada ao evento através da linha 12. Quando um determinado sinal ocorre, a mensagem indica isso e normalmente o mesmo sinal é reemissor. A remoção ou comentário da linha 8 pode impedir a saída do processo de execução em caso de sinais específicos como SIGTERM (sinal int). Também foi mencionada uma função chamada signal definida dentro de ssignal, que recebe um número inteiro correspondente ao tipo de sinal e o manipulador da função. O exemplo incluiu a utilização do sleep para pausar a execução por um segundo enquanto o processo continua em loop até receber outro sinal interrompendo-o. Para compilar o programa, não é necessário adicionar bibliotecas específicas já que elas estão disponíveis no sistema operacional. A aula foi concluída com uma promessa de trocar de cadeira na próxima sessão.

Entre na sua conta para perguntar sobre esta aula. Fazer login.

Voltar ao curso