• Revista PROGRAMAR: Já está disponível a edição #53 da revista programar. Faz já o download aqui!

rgcaldas

[C][Dúvida] Como capturar sinais SIGINT RESOLVIDO

3 mensagens neste tópico

Boas

Ando à procura de como apanhar os sinais SIGINT (tipo Ctrl-C) para poder executar alguma acção antes de terminar o programa.

A ideia não é apanhar um tecla, mas o sinal do sistema, e alterar o seu comportamento.

Alguém tem para ai um bookmark que aprofunde este assunto.

Obrigado

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

void func(int signum)
{
  puts("Sinal Recebido");
}

int main()
{
  if(signal(SIGINT, func)==SIG_ERR)
  {
    perror("signal");
    exit(1);
  }

  sleep(10);

  return 0;
}

Quando o programa receber o sinal SIGINT, vai executar a função func.

Usas a função signal para alterar o comportamento associado ao sinal.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Crie uma conta ou ligue-se para comentar

Só membros podem comentar

Criar nova conta

Registe para ter uma conta na nossa comunidade. É fácil!


Registar nova conta

Entra

Já tem conta? Inicie sessão aqui.


Entrar Agora