Acesso direto ao conteúdo
Logotipo Dicas-L, por Ricardo Burile

Busca

Visite também: Segurança Linux ·  UnderLinux ·  VivaOLinux ·  LinuxSecurity ·  NoticiasLinux ·  BR-Linux ·  SoftwareLivre.org ·  [mais]   
 

Você está aqui: Home  → Arquivo Dicas-L

 

Aprenda inglês de uma vez por todas

Assine a Lista Dicas-L

Receba diariamente por email as dicas
de informática publicadas neste site
Para se descadastrar, clique aqui.

Tratando sinais do sistema com o comando trap

Colaboração: André Leon S. Gradvohl

Data de Publicação: 02 de setembro de 2010

Em uma aula de sistemas operacionais (SO), comentou-se a respeito dos sinais que o SO envia aos processos e que, eventualmente, podem causar situações não previstas. Por exemplo, a sequência ctrl-c durante a execução de um processo causa seu encerramento.

Em algumas linguagens, em particular na linguagem C, a captura desses sinais para um eventual processamento pode ser feita com a primitiva signal. No interpretador de comandos BASH, isso também pode ser feito com o comando trap.

A sintaxe do comando trap é a seguinte:

  trap [COMANDOS] [SINAIS]

Por exemplo:

  trap "echo Buuu" SIGTERM SIGINT

No caso do exemplo anterior, ao pressionar ctrl-c ou se o usuário instanciar o comando kill para "matar" o script, a mensagem "Buuu" aparecerá no terminal do script.

O exemplo a seguir é mais completo:

  #!/bin/bash
  function trataErro()
  {
  echo "Voce pressionou ctrl-c"
  echo "Mas nao posso terminar agora"
  }
  
  trap trataErro SIGINT SIGTERM
  
  for i in {1..10}
  do
   sleep 1
   echo "Dormindo"
  done
  

No exemplo anterior, a função trataErro é chamada se o usuário pressionar ctrl-c durante a execução do script ou usar o comando kill para matar o script. A função trataErro por sua vez, imprime duas mensagens na tela, quando chamada.

Para uma lista de todos os sinais que podem ser tratados pelo comando trap, use o comando kill -l.

Mais informações podem ser encontradas nas man pages.

É isso.

André Leon S. Gradvohl é professor das disciplinas de Sistemas Operacionais e Introdução a Teleprocessamento e Redes na Faculdade de Tecnologia da Unicamp. Seus interesses incluem Processamento de Alto Desempenho e TV interativa.

Veja a relação completa dos artigos de André Leon S. Gradvohl

Formato PDF
Newsfeed RSS
Formato para impressão
PDF RSS Imprimir

Referências Adicionais

Referências adicionais sobre os assuntos abordados neste site podem ser encontradas em nossa Bibliografia.

Avalie esta dica

  • Currently 2.99/5
  • 1
  • 2
  • 3
  • 4
  • 5

Avaliação: 3.0 /5 (1030 votos)

Opinião dos Leitores

Seja o primeiro a comentar este artigo
*Nome:
Email:
Me notifique sobre novos comentários nessa página
Oculte meu email
*Texto:
 
  Para publicar seu comentário, digite o código contido na imagem acima
 


Powered by Scriptsmill Comments Script
Lan University

Submarino.com.br

Encontre imóveis, apartamentos e casas a venda no Imobilien
Saiba mais

 

 

Procure pela casa ou apartamento ideal à venda ou para aluguel na busca inteligente do Imohoo
Buscar imóveis