Sobes.tech
Junior — Middle

Explique o que são sinais no sistema operativo Unix e como são utilizados para a interação entre processos.

sobes.tech IA

Resposta da IA

Nos sistemas Unix, os sinais são um mecanismo de notificação assíncrona de eventos para processos. Um sinal é uma mensagem curta enviada ao processo pelo núcleo ou por outro processo para informar sobre algum evento.

Exemplos de sinais:

  • SIGINT — interrupção (geralmente Ctrl+C)
  • SIGTERM — pedido de terminação do processo
  • SIGKILL — terminação imediata do processo
  • SIGSTOP — suspensão do processo

Os sinais são usados para:

  • Controlar processos (encerrar, suspender, retomar)
  • Lidar com erros (por exemplo, divisão por zero gera SIGFPE)
  • Interação entre processos (por exemplo, um processo pode enviar um sinal a outro para sincronização)

Um processo pode estabelecer um manipulador de sinal para realizar ações específicas ao recebê-lo, ou ignorar o sinal (se permitido).

Exemplo de uso de sinal no shell:

kill -SIGTERM <pid>  # Enviar sinal de término ao processo com identificador pid

Assim, os sinais são uma maneira simples e eficiente de interagir e gerenciar processos no Unix.