fbpx Certificação Linux: Sinais no Linux [Guia Básico]

Blog

Sinais no Linux [Guia Básico]

📅 08/12/2021 ⏱ 3 min ✍️ Uira Ribeiro
Linuxcomandos
Sinais no Linux [Guia Básico]

A "conversa" entre o sistema operacional e os programas em execução é através de Sinais no Linux, que são interrupções de software, utilizadas para colocar um programa conectado a um terminal, em espera, em segundo ou em primeiro plano, e até mesmo parar sua execução. 

Cada processo no Linux fica à escuta de sinais. Estes sinais são utilizados pelo Kernel, por outros processos ou por usuário para avisar a um determinado processo sobre algum evento em particular. O guru de UNIX W. Richard Stevens descreve os sinais como interrupções de software.

Quando um sinal é enviado para um processo ele toma uma determinada ação dependendo do valor que este sinal carrega. 

Cada sinal tem um nome exclusivo e um valor numérico. 

Vejamos alguns valores e suas ações:

TABELA  – Sinais mais importantes 

SinalValor NuméricoAção
SIGHUP1Hang-Up ou desligamento. Este sinal é utilizado automaticamente quando você desconecta de uma sessão ou fecha um terminal. Ele também é utilizado por processos servidores para invocar a releitura do arquivo de configuração.
SIGINT2É o sinal de interromper o funcionamento. Ele é acionado por exemplo quando se aperta as teclas Ctrl C.
SIGKILL9Terminar o processo incondicionalmente de forma rápida e drástica. Este tipo de sinal pode deixar arquivos abertos e bases de dados corrompidas. Deve ser utilizado caso o processo pare de responder ou em uma emergência.
SIGTERM15Termina o processo de forma elegante, possibilitando que ele feche arquivos e execute suas rotinas de fim de execução.
SIGCONT18É um sinal para um processo que foi parado com o sinal SIGSTOP para que ele continue a executar.
SIGSTOP19É um sinal que pode ser enviado para um processo parar de funcionar momentaneamente. Ele continua existindo, mas não recebe mais CPU para executar, até que receba o sinal SIGCONT.
SIGTSTP20Termina a execução para continuar depois. Este sinal é enviado automaticamente quando utilizamos as teclas ctrl-z. É utilizado para colocar o processo em segundo plano.

O Linux possui mais de 30 sinais definidos. A maioria é utilizada pelo Kernel e alguns pelos usuários em situações específicas.

O entendimento de sinais é importante para sabermos como o sistema interage com os processos em execução. Os comandos kill e killall podem ser usados para enviar sinais específicos para um processo em execução.

A maioria dos administradores ao parar um processo, usa o SIGKILL. No entanto, este sinal é muito "forte", pois faz uma parada abrupta no processo em execução, e pode deixar arquivos abertos, indexes malfeitos, e dados corrompidos. É melhor usar o sinal SIGTERM, que permite que o programa termine elegantemente, fechando os arquivos, indexes e bases de dados.

O Linux permite que os usuários enviem sinais para os programas em execução através do comando kill.

Aprenda muito mais sobre Linux em nosso curso online. Você pode efetuar a matrícula aqui. Se você já tem uma conta, ou quer criar uma, basta entrar ou criar seu usuário aqui.

Gostou? Compartilhe

Uira Ribeiro

Prof. Uirá Ribeiro

Chair do Board do Linux Professional Institute

Especialista Linux com mais de 20 anos de experiência.
Autor de 5 livros e mentor de mais de 14.000 alunos certificados.
20 certificações de alto nível, incluindo LPIC-3, CKA, RHCE e AWS Solutions Architect.

WhatsApp