Transcrição do áudio
Vamos ver então como é feito a tratativa do sinal dentro de um processo. Vamos entender o código float e você vai naturalmente ter umas ideias bacanas. Você vai até poder fazer o seu próprio NoHup. NoHup é um comando muito útil quando nós queremos fazer com que um processo não seja finalizado caso o terminal caia. Imagino que estou fazendo uma backup e executo o comando NoHup seguindo o comando da backup. Se minha sessão cair a backup continua acontecendo mas como eu executei o comando NoHup é natural que ele adivinha. Na verdade eu, o usuário, eu sei que eu executei o comando de backup. Então é natural que eu não vou executar de novo quando retomar minha sessão. Porque eu sei. Afinal eu chamei o NoHup. Então vamos lá. Funções que podem ser adicionadas via programação, aguardar um sinal, dar um kill, um kill na thread, pausar, suspender ou até mesmo enviar um sinal de uma falha de um Waze. Por exemplo Waze is a new exception. Então vamos lá. Então eu tenho aqui um programa só para vocês terem uma noção como é que funciona isso. Eu vou ter que importar a biblioteca, no caso a biblioteca estática lá, cs, cs signal, beleza? É um monte de sigla, deslequecer do caramba. E a unistd, um plagá. Eu tenho aqui o namespace std. E aí olha só, eu crio uma função que eu posso dar o nome que eu quiser. Mas a galera por padrão coloca signa alguma coisa. Beleza? É que eu simplesmente me signa o handler. É um evento de sinal. Quer dizer que sempre que acontecer um determinado evento, essa função vai ser executada. E pai, não é um nome e vai ligar ela ao evento. Vai ligar ela ao evento e é a linha 12. A linha 12 é que liga ela ao evento. Então vamos lá. Quando esse evento acontecer, ele vai colocar na mensagem, diz ver olha, aconteceu isso. E aí a linha 8 eu dou um edit. O mesmo sinal que eu recebi eu dou um edit aqui. Legal? Vamos lá. Se você comentar a linha 8 e for o sinal int, se for o sinal term, por exemplo, também, o processo não vai sair de execução. Ele vai ficar chumbado lá consumindo recurso. Beleza? Se você comentar a linha 8. É assim que você faz com que um processo não saia da memória, por resta braba nenhuma. Lógico, o sinal que eu consigo derrubar isso. 9. O número 9. Então vamos lá. Aquela é só. Depois então em MEI eu executo a chamada que é o signal que está definido dentro do ssignal. Beleza? Passando o número int, siga um int, que é uma constante. Você poderia colocar direto o número aqui, tá? Sem nenhum problema. E qual a função que vai executar caso esse número seja enviado como sinal para esse processo? Cara, essa cadeira tá barulhinha, tá meu? Eu trabalho numa cadeirinha de plástico velho que você não faz ideia. Eu vou queimar essa porra é hoje. Tá me tirando o sere aqui. Logo a seguida que nós temos no A e o trono só para segurar a exerção. Só para segurar a exerção. E sigo no STD aqui para eu poder usar o Slipp. Slipp de 1 segundo. Eu fico aqui nessa execução continua eterna. E aí na hora que alguém emitir o sinal seguinte, então isso aqui é executado e o processo sai aqui e finaliza o laço de repetição. Legal? Funciona assim. Bom, para compilar você naturalmente não precisa de colocar nenhuma biblioteca e esta, porque o seu sistema vai ter todas essas bibliotecas. Então é só você compilar com o G mais mais dessa forma e executar. Legal? Eu vou pausar o vídeo, vou trocar essa cadeira dos infernos, vou tacar fogo nessa porra agora. Próximo vídeo eu falo que eu fiz com a cadeira. Até mais, tchau.