Como utilizar o kill e sinais no gerenciamento de processos Linux

Share on facebook
Share on twitter
Share on linkedin
Share on pinterest
Share on tumblr
Share on telegram
Share on whatsapp
Share on skype
Share on email

Nesta aula do Curso de Linux Básico | XP IT Cursos, aprenderemos os seguintes tópicos sobre o comando kill e sinais (signals).

  • Árvore de Processos | Processos Pai x Filhos
  • Comando pstree : Lista a árvore de processos Linux
  • O Comando Kill e os Sinais
    • SIGINT | SIGTSTP | SIGCONT
  • Terminando processos com Kill e sinal SIGTERM
  • Destruindo processos com Kill SIGKILL (kill -9)
    • O Problema do SIGKILL (kill -9)
  • Como encerrar corretamente seus processos Linux com Kill


🎦 Vídeo Aula: Como utilizar o kill e sinais no gerenciamento de processos Linux : Módulo 07 – Aula 22 👩🏻‍💻🐧
[Canal Web Mundi.com + XP IT Cursos]

https://youtu.be/_y4DAMpUAv0
Como utilizar o comando kill e sinais no gerenciamento de processos Linux : Modulo 07 – Aula 23

Esta aula faz parte do Curso Linux Básico da XP IT Cursos, uma plataforma ensino completa que irá proporcionar seu aprendizado de uma forma rápida e consistente.

XP IT Cursos

XP IT Cursos oferece uma oferta a preços acessíveis a Plataforma de Aprendizado com Vídeo Aulas do WebMundi.com + Trilha de Aprendizagem,  Material didático em PDF, exercícios de fixação / Revisão de Conteúdo, questionários e o final do curso o Certificado de Conclusão.


+ Garanta seu desconto exclusivo em : https://www.xpitcursos.com.br


Como utilizar o kill e sinais no gerenciamento de processos Linux : Roteiro

Como utilizar o kill e sinais no gerenciamento de processos Linux
Como utilizar o kill e sinais no gerenciamento de processos Linux

Árvore de Processos | Processos Pai x Filhos

Em nossas aulas anteriores, vimos que os processos são instancias de programas que executam no Linux.

Os processos podem executar em primeiro plano em Primeiro Plano (Foreground – Processo interativo) ou em Segundo Plano (Background – processo não interativo ou automático)

Além disso, os processos podem ser divididos em :

  • Processo pai : Criador de outros processos em tempo de execução
  • Processo filho : um processo criado por outros processos.

No Linux, todo processo tem um processo pai, exceto o primeiro processo init (ou systemd) com um PID de 0 ou PID 1.

Os processos filho também têm seus próprios processos filho formando uma verdadeira Família de processos.

Comando pstree : Lista a árvore de processos Linux

Para entender os processos, ou melhor, a arvore de processos pai x filho, existe o comando pstree.

Este comando serve para visualizar os processos e subprocessos em execução no terminal, assim podemos visualizar a “família” ou a “arvore genealogia dos processos que estão sendo executados no sistema Linux.

O pstree lista os processos  em execução usando o formato de árvore.

Esta é a sintaxe deste comando:

PSTREE : Sintaxe

pstree [opções]

Algumas opções e argumentos do comando

  • H processo : destaca o processo especificado dentro da estrutura de árvore;
  • n : ordena a saída pelos números dos PIDs dos processos.
  • p : mostra os PIDs dos processos.
  • s : mostra os processos -pai do processo especificado.
  • V ou −−version: mostra informações sobre o utilitário.
  • usuário : mostra apenas os ramos com os processos inicializados pelo usuário especificado.

Exemplos

  • O comando a seguir, exibe os processos e seus PIDs, onde os ramos de um nível são ordenados por ordem crescente dos PIDs.
pstree -np

E repare que na primeira linha do resultado do comando, temos o systemd que é o processo pai de todos os demais processos, depois temos outras ramificações de processos que chamam outros processos e assim por diante.

  • Para ver a árvore com os processos inicializados pelo usuário webmundi, basta digitar:
pstree webmundi
  • Agora vou digitar um ps comum para descobrir PID do shell bash usado no terminal, veja no meu caso que ele tem PID igual a 3973. Na sequencia, vamos usar o comando pstree com o parâmetro -s para mostrar os processos -pai do processo bash

ps
pstree -s 3973

Exemplo de resultado

webmundi@webmundi-VirtualBox:~$ pstree -s 3973
systemd───systemd───gnome-terminal-───bash───pstree

Veja que ele mostra toda a arvore dos processos relacionados com o shell bash

Vamos a mais alguns exemplos práticos, vamos abrir o navegador chrome e no terminal executar o comando:

pgrep -l chr 

Exemplo de Resultado:

webmundi@webmundi-VirtualBox:~$ pgrep -l chr
4072 chrome
4082 chrome_crashpad
4084 chrome_crashpad
4090 chrome
4091 chrome
4095 chrome
4113 chrome
4117 chrome
4126 chrome
4153 chrome
4160 chrome
4226 chrome

Agora vamos ver a arvore de processos do navegador Chrome

pstree -s 4072

Exemplo de Resultado:

webmundi@webmundi-VirtualBox:~$ pstree -s 4072
systemd───systemd───chrome─┬─2*[cat]
                           ├─chrome───chrome───6*[{chrome}]
                           ├─chrome─┬─chrome─┬─chrome───3*[{chrome}]
                           │        │        ├─chrome───10*[{chrome}]
                           │        │        ├─chrome───9*[{chrome}]
                           │        │        └─chrome───8*[{chrome}]
                           │        └─nacl_helper
                           ├─chrome───6*[{chrome}]
                           └─21*[{chrome}]

Veja que o comando pstree -s trouxe todos os processos e subprocessos que são necessários para executar o navegador Chrome em sua sessão Linux.

É importante entender este conceito de processo pai e filho, pois agora vamos conhecer o comando kill que normalmente é usado para finalizar processos no Linux, então vamos lá

O Comando Kill e os Sinais

O comando kill que traduzindo para o português é matar, normalmente é utilizado para finalizar processos no Linux através do terminal.

Mas como veremos em breve, o kill não serve somente para matar processos do sistema.

A verdade do kill é que este comando envia um sinal a um processo Linux.

O que é um sinal no Linux ?

O sinal faz parte de um mecanismo de comunicação do Linux que é usado para notificar um processo da ocorrência de um evento.

Ou seja, os Processos do Linux ficam monitorando ou escutando sinais que podem ser enviados pelo kernel do sistema ou pelos usuários através do terminal. E a partir deste sinal recebido uma determinada operação pode ser realizada no processo.

E quais tipos de sinais podem ser enviados ?

Através do comando kill podemos enviar sinais para finalizar um processo, pausa-lo ou até mesmo continuar a execução de um processo pausado.

Então podemos concluir que o comando kill, faz muito mais do que apenas matar processos, ele serve para controlar a execução de processos através do envio de sinais.

Mas vamos ao terminal entender os sinais que podemos utilizar com o kill

Você pode obter mais informações sobre sinais do Linux em:

https://www.gnu.org/software/libc/manual/html_node/Standard-Signals.html

Listar sinais disponíveis com kill : Linux

Para listar os sinais que podemos utiliza com o kill, digitamos :

kill -l

E temos um resultado como este:

webmundi@webmundi-VirtualBox:~$ kill -l
 1) SIGHUP	 2) SIGINT	 3) SIGQUIT	 4) SIGILL	 5) SIGTRAP
 6) SIGABRT	 7) SIGBUS	 8) SIGFPE	 9) SIGKILL	10) SIGUSR1
11) SIGSEGV	12) SIGUSR2	13) SIGPIPE	14) SIGALRM	15) SIGTERM
16) SIGSTKFLT	17) SIGCHLD	18) SIGCONT	19) SIGSTOP	20) SIGTSTP
21) SIGTTIN	22) SIGTTOU	23) SIGURG	24) SIGXCPU	25) SIGXFSZ
26) SIGVTALRM	27) SIGPROF	28) SIGWINCH	29) SIGIO	30) SIGPWR
31) SIGSYS	34) SIGRTMIN	35) SIGRTMIN+1	36) SIGRTMIN+2	37) SIGRTMIN+3
38) SIGRTMIN+4	39) SIGRTMIN+5	40) SIGRTMIN+6	41) SIGRTMIN+7	42) SIGRTMIN+8
43) SIGRTMIN+9	44) SIGRTMIN+10	45) SIGRTMIN+11	46) SIGRTMIN+12	47) SIGRTMIN+13
48) SIGRTMIN+14	49) SIGRTMIN+15	50) SIGRTMAX-14	51) SIGRTMAX-13	52) SIGRTMAX-12
53) SIGRTMAX-11	54) SIGRTMAX-10	55) SIGRTMAX-9	56) SIGRTMAX-8	57) SIGRTMAX-7
58) SIGRTMAX-6	59) SIGRTMAX-5	60) SIGRTMAX-4	61) SIGRTMAX-3	62) SIGRTMAX-2
63) SIGRTMAX-1	64) SIGRTMAX

E esta opção exibe diversos sinais possíveis que podem ser utilizados com este comando.

O sinal é um número decimal e ao lado vem o seu significado e todos eles que podem ser informados no comando kill.

A Sintaxe básica do kill é :

kill [sinal ou opção] pid

Mas vamos entender melhor os sinais do sistema com seu o manual digitando:

man 7 signal

Repare que no Ubuntu e Mint ele já em português.

Resultado do comando:

SIGNAL(7)                                          Manual do Programador Linux                                         SIGNAL(7)

NOME
       signal - lista de sinais disponíveis

DESCRIÇÃO
       O linux suporta os sinais abaixo. 
       Vários dos sinais são dependentes da máquina. 
       Primeiro os sinais descritos em POSIX.1.

       Sinal      Valor     Ação   Comentário
       ─────────────────────────────────────────────────────────────────────────────
       SIGHUP        1       A     Travamento detectado no terminal controlador

       SIGINT        2       A     Interrupção do teclado
       SIGQUIT       3       C     Sinal de 'Quit' do teclado
       SIGILL        4       C     Instrução ilegal
       SIGABRT       6       C     Sinal abort derivado de abort(3)
       SIGFPE        8       C     Exceção de ponto flutuante
       SIGKILL       9      AEF    Sinal de kill
       SIGSEGV      11       C     Referência inválida a memória
       SIGPIPE      13       A     Broken pipe: esccita para um pipe sem um leitor.
       SIGALRM      14       A     Sinal do timer de alarm(2)
       SIGTERM      15       A     Sinal de terminação
       SIGUSR1   30,10,16    A     Sinal definido pelo usuário 1
       SIGUSR2   31,12,17    A     Sinal definido pelo usuário 2
       SIGCHLD   20,17,18    B     Processo descendente parado ou terminado.
       SIGCONT   19,18,25          Continuar se parado
       SIGSTOP   17,19,23   DEF    Parar processo
       SIGTSTP   18,20,24    D     Stop digitado no tty
       SIGTTIN   21,21,26    D     Entrada via tty para processo no background
       SIGTTOU   22,22,27    D     Saída via tty para processo no background

       Sinais que não estão em POSIX.1 mas que são descritos em SUSv2.

       Sinal        Valor     Ação   Comentário
       ──────────────────────────────────────────────────────────────────────────────
       SIGBUS      10,7,10     C     Erro de bus (endereço de memória defeituoso)
       SIGPOLL                 A     Evento rastreável (Sys V). Sinônimo of SIGIO
       SIGPROF     27,27,29    A     Profiling timer expired
       SIGSYS      12,-,12     C     Argumento defeituoso para rotina(SVID)
       SIGTRAP        5        C     Trace/breakpoint trap
       SIGURG      16,23,21    B     Condição urgente no socket (4.2 BSD)
       SIGVTALRM   26,26,28    A     Temporizador virtual (4.2 BSD)
       SIGXCPU     24,24,30    C     Tempo limite da CPU excedido (BSD 4.2)
       SIGXFSZ     25,25,31    C     Limite do tamanho de arquivo excedido (BSD 4.2)

       (Para  SIGSYS, SIGXCPU, SIGXFSZ, e em algumas arquiteturas também para SIGBUS, a ação linux padrão até agora (2.3.27) é A
       (terminar), enqüanto SUSv2 faz C (terminar e dump core).

       Outros sinais.

       Sinal                        Valor                        Ação                      Comentário
       ──────────────────────────────────────────────────────────────────────────────────────────────────────────────────
       SIGIOT                         6                           C                        IOT trap. Sinônimo de SIGABRT
       SIGEMT                       7,-,7
       SIGSTKFLT       -,16,-         A            Falha de stack no coprocessador
       SIGIO                       23,29,22                       A                        I/O possibilitado(4.2 BSD)
       SIGCLD                       -,-,18                                                 Sinónimo de SIGCHLD
       SIGPWR                      29,30,19                       A                        Queda de energia (System V)
       SIGINFO                      29,-,-                                                 Sinónimo de SIGPWR
       SIGLOST                      -,-,-                         A                        Perda de lock para arquivo

       SIGWINCH         28,28,20      B       Redimensionamento de janela (BSD 4.3, Sun)
       SIGUNUSED        -,31,-        A           Sinal não utilizado (será SIGSYS)

       (- indica ausência do sinal. Quando são dados três valores, o primeiro normalmente se aplica a alpha e sparc; o  do  meio
       para i386, ppc e sh e o último para mips.  O sinal 29 é SIGINFO / SIGPWR num alpha mas SIGLOST numa sparc.)

       As letras na coluna "ação" têm os seguintes significados:

       A      Terminar o processo.

       B      Ignorar o sinal.

       C      Terminar o processo e dar dump core.

       D      Parar o processo.

       E      Este sinal não pode ser manipulado.

       F      Sinal não pode ser ignorado.

EM CONFORMIDADE COM
       POSIX.1

BUGS
       SIGIO  e  SIGLOST  têm  o mesmo valor.  Este último foi eliminado (mas deixado como comentário) na fonte do kernel, mas o
       build de alguns programas ainda pensa que o sinal 29 é SIGLOST.

VER TAMBÉM
       kill(1), kill(2), setitimer(2)

TRADUZIDO POR LDP-BR em 21/08/2000.
       Paulo César Mendes <[email protected]> (tradução) André L. Fassone Canova <[email protected]> (revisão)

Linux 1.3.88                                               14/04/1996                                                  SIGNAL(7)

Neste manual temos diversas opções de sinais e vou separar alguns para conhecermos mais detalhadamente:

  • SIGINT
  • SIGTSTP
  • SIGCONT
  • SIGTERM
  • SIGKILL
  • SIGINT
  • SIGHUP

SIGINT | SIGTSTP | SIGCONT : Sinais Linux

E vamos aos 3 primeiros sinais SIGINT, SIGTSTP e o SIGCONT

Em nossa ultima aula, usamos o CTRL + C e CTRL+Z, para interromper a execução de um comando e para pausar um processo

Quando utilizamos as teclas CTRL + C no terminal para cancelar um programa**,** isso equivale ao envio do sinal SIGINT ao processo do programa.

Já quando utilizamos as teclas CTRL+Z equivale ao envio do sinal SIGTSTP ao processo, com isso o processo fica suspenso, alocando memória, até que possa ser colocado em execução novamente com os comando fg, bg ou até mesmo com o kill e o sinal SIGCONT, conforme a seguir.

kill -SIGCONT PID

Então, agora que você já sabe que o comando kill envia sinais aos processos e não somente serve para mata-los ou destrui-los, vamos conhecer seu uso na finalização de programas, bem como a forma mais adequada de finalizar processos no sistema.

Terminando processos com Kill e sinal SIGTERM

Para terminar processos de forma amigável, utilizamos o comando kill com o sinal SIGTERM.

Este é o Kill padrão do Linux, O SIGTERM de Sinal 15.

Como você pode enviar um kill SIGTERM para um processo no Linux?

A maneira mais comum de encerrar um processo no Unix/Linux é usar o comando kill, assim:

kill [PID]

O kill SIGTERM é a forma mais segura, elegante e recomendada de finalizar processos no Linux.

Repare que não é necessário informar o sinal do SIGTERM (15)

Ao utilizar o kill com sinal SIGTERM você da oportunidade ao processo se preparar para encerrar e executar tarefas de limpeza e encerramento, tais como encerrar processos filhos, fechar arquivos abertos, pipes, comunicar encerramento a outros processos, etc…

Mas pode ocorrer de o processo se recusar a encerrar por diversos motivos como veremos mais a frente.

Detalhe Importante : Gerenciamento de Processos com kill

Para gerenciar processos em execução, você precisa ser o dono do processo ou o usuário root para enviar sinais a um processo ou finaliza-lo.

Exemplos Práticos de Kill : SIGTERM

Para exemplificar o encerramento de processos com kill SIGTERM, vamos utilizar o comando sleep.

O comando sleep (dormir) é usado para fazer com que o terminal espere por um determinado tempo em segundos, minutos ou horas..

Mais informações consulte o man, digitando no terminal :

man sleep

Por exemplo, vou fazer o terminal dormir por 10 segundos com o comando:

sleep 10  

Agora, vamos praticar o kill SIGTERM com este comando.

Vou executar o sleep em background por 3 minutos (180 segundos) com o comando:

sleep 180 &

Isso fará com que o comando execute em segundo plano por 3 minutos.

Resultado:

webmundi@webmundi-VirtualBox:~$ sleep 180 &
[1] 4419

Veja que o comando foi colocado em background e o PID dele é o 4419

Vamos rodar um pstree para ver se ele possui algum processo filho.

ps 4419
ou
pstree 4419

Resultado:

webmundi@webmundi-VirtualBox:~$ ps 4419
    PID TTY      STAT   TIME COMMAND
   4419 pts/0    S      0:00 sleep 180
webmundi@webmundi-VirtualBox:~$ pstree 4419
sleep

Agora, vamos executar o kill padrão SIGTERM, digitando

kill 4419

Como usei o comando kill sem informar um sinal ou opção, ele enviou o sinal padrão 15 SIGTERM.

O comando kill não exibe nada em sua saída no terminal e irá enviar o sinal (SIGTERM) para encerramento do processo de forma mais segura possível, encerrando processos filhos e limpando adequadamente o sistema.

Vamos consulta-lo novamente com o comando pstree

webmundi@webmundi-VirtualBox:~$ kill 4419
webmundi@webmundi-VirtualBox:~$ pstree 4419
[1]+  Terminado               sleep 180
webmundi@webmundi-VirtualBox:~$ pstree 4419

E veja que ao executar pstree, pela primeira vez ele informa que o processo do sleep 180 foi terminado.

Na segunda vez que executamos o pstree, ele já não mostra mais nada pois o processo foi finalizado.


Mais exemplos práticos de kill SIGTERM no Linux

Vamos abrir também o navegador Firefox e para descobrir seu PID vou executar o comando pidof, mas fique a vontade para executar outros comandos como o ps ou pgrep

webmundi@webmundi-VirtualBox:~$ pidof firefox
4749 4708 4705 4657 4633 4577 4572 4538 4492 4479 4434

Veja que o Firefox abre diversos processos no Linux.

Vamos tentar encerrar 1 dos encerrar processos com SIGTERM digitando:

kill 4749

Porém muito provavelmente, o programa Firefox não irá encerrar ou fechar, pois como já falamos anteriormente existem outros processos executando o programa.

Para isso vamos encerrar os múltiplos processos (Pai e Filhos) com o kill SIGTERM .

Como Matar Múltiplos Processos com o comando kill no Linux

Para matar uma sequência de processos, use o seguinte comando:

kill pid1 pid2 pid3

substitua o pid1, pid2, pid3 pelos PID dos processos que deseja encerrar como é o caso dos pid obtidos com o pidof firefox.

No caso vou encerrar os processos restantes do Firefox com o comando a seguir:

kill 4708 4705 4657 4633 4577 4572 4538 4492 4479 4434

Repare que o comando kill é um assassino silencioso, ele não oferece nenhum feedback no terminal se for bem sucedido ou não.

Porém repare que o navegador Firefox foi finalizado com sucesso.

Mas vamos verificar se existe algum processo do firefoz rodando em beackground. Para isso, temos que executar comandos para verificar os processos como o ps ou pidof para verificarmos se o processo foi encerrado.

Então vamos lá

pidof firefox

E veja que o pidof não retorna nenhum processo do navegador firefox, indicando que seu encerramento foi bem sucedido

Resultado dos comandos

webmundi@webmundi-VirtualBox:~$ pidof firefox
4749 4708 4705 4657 4633 4577 4572 4538 4492 4479 4434
webmundi@webmundi-VirtualBox:~$ kill 4749
webmundi@webmundi-VirtualBox:~$ pidof firefox
4708 4705 4657 4633 4577 4572 4538 4492 4479 4434
webmundi@webmundi-VirtualBox:~$ kill 4708 4705 4657 4633 4577 4572 4538 4492 4479 4434
webmundi@webmundi-VirtualBox:~$ pidof firefox
webmundi@webmundi-VirtualBox:~$

Porém nem tudo são flores, veremos que em alguns casos o kill com SIGTERM pode não fechar os processos

Seja por conta do processo estar esperando salvar dados, ou tenha alguma dependência ou processo filho que não pode ser encerrado.

Neste caso, teremos que adotar outras estratégias de encerramento de processo que veremos a seguir.

Destruindo processos com Kill SIGKILL (kill -9)

Uma das formas mais radicais de se encerrar processos no Linux é o kill com SIGKILL ou kill -9

Este comando faz com que o processo seja encerrado imediatamente sem chances nenhuma de salvar os dados, apagar os arquivos temporários e comunicar outros processos.

Um verdadeiro tiro de canhão para matar uma mosca!

O kill -9 (SIGKILL) não dá chance ao processo de terminar de forma limpa e convencional.

E isto pode ser um problema para o gerenciamento do sistema.

Para aniquilar um processo com SIGKILL no Linux, usamos:

kill -9 PID

Infelizmente, o kill com SIGKILL é usado por muitos usuários sem critério algum.

Este recurso deveria ser usado apenas última instancia para matar processos que não se encerram de forma adequada.

O Problema do uso do Kill com SIGKILL (kill -9)

Muita gente usa o kill -9 pra tudo e o que isso pode ocasionar no sistema ?

E porque o kill -9 pode ser um problema ?

Como já vimos anteriormente, quando um processo é encerrado de forma amigável, ele executa atividades como:

  • Desligar conexões de sockets (soquetes).
  • Limpar os arquivos temporários.
  • Salvar dados
  • Comunicar processos e pipes do encerramento, etc.

E isso não acontece quando se usa o kill -9.

No SIGKILL, o sistema simplesmente destrói o processo sem analisar dependências e relacionamentos.

Isso pode deixar Processos filhos zumbis ou órfãos, ocasionar perda de dados e gerar instabilidades.

Quando o Linux pode não consegue encerrar os processos relacionados ao processo pai, os processos filhos e relacionados ficam tentando se comunicar com o processo falecido e ficam consumindo CPU e memória de forma inadequada.

Exemplos de Kill com o sinal SIGKILL : kill -9

Mas vamos a um exemplo prático do kill -9 ou SIGKILL.

Vou abrir o gedit e vou coloca-lo em background pelo terminal :

gedit & 

E vou digitar algo no editor gedit e não vou salvar

Exemplo saída

webmundi@webmundi-VirtualBox:~$ gedit &
[1] 3225

Vamos agora, destruir o processo do gedit que é o PID 3225, com o comando:

kill -9 3225

Veja que o Linux não perguntou nada e destruiu o gedit com tudo que havia nele sem salvar o conteúdo digitado, etc…

Consulta processo gedit

webmundi@webmundi-VirtualBox:~$ pidof gedit
[1]+  Morto                   gedit

Agora imagine utilizar o kill -9, em um servidor de banco de dados com transações em aberto e você simplesmente matar o processo pai que impossibilita, o sistema salvar informações vitais para seu funcionamento ?

Por isso, vamos aprender a encerrar os processos de forma correta no Linux.


Como encerrar corretamente seus processos Linux com Kill

Para encerrar um processo de forma segura e respeitosa no Linux, você pode executar o seguinte roteiro de comandos de kill:

  • SIGTERM Tente enviar um SIGTERM usando kill -15 ou kill padrão (kill PID).
  • SIGINT Após alguns segundos, se o processo não estiver finalizado, envie um SIGINT (kill -2 PID).
  • SIGHUP Se persistir o processo aberto, envie um SIGHUP (kill -1 PID).

O que faz o Kill com sinal SIGHUP Linux?

Se um comando for executado dentro de uma janela de terminal e a janela de terminal for fechada enquanto o processo de comando ainda estiver em execução, ele receberá SIGHUP. [1]

Se o processo que recebe SIGHUP for um shell Unix , como parte do controle de tarefas, ele geralmente interceptará o sinal e garantirá que todos os processos parados continuem antes de enviar o sinal para os processos filhos (mais precisamente, grupos de processos , representados internamente pelo shell como um “trabalho”), que por padrão os encerra. [2]

Mais informações:
https://www.gnu.org/software/libc/manual/html_node/Termination-Signals.html

https://en.wikipedia.org/wiki/SIGHUP

E se o processo não quiser encerrar com estes procedimentos ?

Neste caso temos 3 opções:

  • Se você estiver usando um binário externo e ele não parou depois de tudo isso, você provavelmente deve se livrar dele, pode ser um problema, principalmente em servidores.
  • Se você está desenvolvendo um programa e não consegue pará-lo corretamente, você deve lidar melhor com as interrupções de sinais de kill.
  • Se não tiver jeito, como última opção, você deve apelar para o extermínio do processo, kill -9 nessa porcaria de processo !

Mas vale tentar contato com o desenvolvedor do software tentando uma solução ou procurar alternativas para este programa.

Conclusão Kill x Sinais : Linux

Um software que não lida bem com interrupção do programa e sinais do Linux é um problema para a administração do sistema.

O Kill com SIGTERM é a maneira padrão e mais segura de matar um processo. 

O SIGHUP é uma maneira menos segura de matar um processo do que SIGTERM . 

O SIGKILL é a maneira mais insegura de todas.


O conteúdo foi útil ?

Se a esta aula lhe ajudou de alguma forma em seu desenvolvimento profissional, não esqueça de se inscrever no canal ou indicar este vídeo aos seus amigos.

Se você puder e quiser você pode nos apoiar doando qualquer valor através de nosso pix.

Doe qualquer valor pelo PIX e apoie o WebMundi.com
Doe qualquer valor pelo PIX e apoie o WebMundi.com

Chave pix: [email protected]

Essas doações ajudam a manter o canal e nosso site e também na criação de novos conteúdos.

E por falar em criação de conteúdo, em breve, em nossas futuras vídeo aulas aqui do canal..

Por isso não esqueça de se inscrever no canal e ativar as notificações para ser avisado sobre novos vídeos aqui do canal.


Materiais e leituras que recomendamos para você:


Loja WebMundi.com : Informática

+ Ofertas Informática, Computadores e Tecnologia


Obrigado

Esperamos que esta publicação tenha lhe ajudado a aprofundar seus conhecimentos em linux.

Qual é sua experiência em Linux ?

Conte pra nós a sua experiência, adoraríamos saber.

Como entusiasta em desenvolvimento de software, queremos enriquecer sua experiência e conhecimento sobre este produto. 

Se você gostou deste post, compartilhe com seus amigos ou nos acompanhe pelas redes sociais.

Tem alguma dúvida ou observação a fazer ? 

Além disso, você pode nos ajudar a criar mais conteúdos como este. Como ?

Adquira produtos em nossa Loja Virtual, uma parceria do webmundi.com com as maiores plataformas de comércio eletrônico do Brasil.

Lembrando que comprando em nossa loja você apoia a criação de vídeos gratuitos aqui no site e em nosso canal do YouTube.

Prestigie também nossos apoiadores e anunciantes conhecendo seus produtos e serviços.

É simples e rápido e assim você ajuda a gente a crescer. 👍🏼

Obrigado e um grande abraço

Gostou do Post ? Compartilhe com seus amigos nas redes sociais.

Share on facebook
Share on twitter
Share on linkedin
Share on pinterest
Share on tumblr
Share on telegram
Share on whatsapp
Share on skype
Share on email

☑️ Comunidades Colaborativas de Aprendizagem 💬

❓ Esclareça suas dúvidas e ajude outras pessoas a aprender sobre o assunto proposto em nossa comunidade colaborativa no Facebook.

Compartilhe ideias e atividades com outros membros enquanto aprendemos juntos em um ambiente virtual criado e mantido pelo webmundi.com.
Aproveite essa oportunidade gratuita para aprimorar seus conhecimentos e participar de discussões sobre o assunto que você está interessado.

☑️ Grupos WebMundi.com Facebook

✔️ Banco de dados : Dicas
▶️ https://bit.ly/dbbrasil

✔️ Windows Dicas
▶️ https://bit.ly/windowsdicas

✔️ Linux : Dicas, Truques e Tutoriais
▶️ https://bit.ly/linuxdicas

 

✔️ Dev Brasil : Desenvolvimento de Software : Programação (Java, Python, Javascript, Flutter, PHP, Html,CSS e muito mais)
▶️ https://bit.ly/devbrasil

✔️ Virtualização de Computadores : Tecnologia
▶️ https://bit.ly/virtualizabr

APOIE O WEBMUNDI.COM

Apoie o Projeto WebMundi.com doando 1 Real !

Se você é fã do conteúdo gratuito e de qualidade que o WebMundi.com oferece no Site, Youtube e grupos, agora é a hora de demonstrar seu apoio e ajudar a mantê-lo disponível.
Qualquer doação, por menor que seja, será muito valiosa para nós e fará toda a diferença.

Basta utilizar o PIX ou o botão VALEU do Youtube para fazer sua contribuição.
Não perca essa oportunidade de ajudar a manter o WebMundi.com ativo e fornecer ainda mais conteúdo de qualidade para você e para outros.

Faça sua doação agora e seja parte da nossa comunidade de apoio!

Ajude a manter nossa criação de conteúdo e operação em funcionamento

Estrutura WebMundi | Sites e Canal Youtube

Ter presença na Internet implica em custos como:

  • Domínios (www.webmundi.com / www.webmundi.org)
  • Hospedagem (local onde fica a estrutura do site / páginas / banco de dados)
  • Softwares (programas utilizados para montar e manter o site em operação e edição de vídeo)
  • Layout e Desenvolvimento (profissionais que constroem, mantêm e divulgam o site e o canal)
  • Produção de Conteúdo (Profissionais como Redatores, Produtores, Editores de vídeo, etc…)
  • Certificados de Segurança (cadeado / segurança da página, possibilita a segurança na navegação e seus dados)
  • Manutenção do Site (atualizações do site, criação de novas páginas)

Loja Virtual | WebMundi.com

Outra forma de apoiar a criação de conteúdo no YouTube e em nossos sites é nossa loja virtual

Parceria do WebMundi.com com as maiores plataformas de comércio eletrônico do Brasil.

Nossa loja é integrada com nossos parceiros associados e possui uma ampla variedade de produtos de marcas renomadas.
O Cliente ao escolher um produto é direcionado a loja parceira onde pode fazer sua compra com tranquilidade em um ambiente seguro e 100% confiável.

Confira:

Loja Virtual WebMundi.com

Alguns de nossos parceiros associados:

AliExpress Parceiro Magalu Amazon Associados

Obrigado pela confiança e preferência.

TALVEZ VOCÊ GOSTE TAMBÉM

Mais Assistidos
Como BAIXAR a ISO do WINDOWS 10 OFICIAL e Criar um Pendrive Bootável
Play Video about Como BAIXAR a ISO do WINDOWS 10 OFICIAL e Criar um Pendrive Bootável
Como instalar o Oracle Virtualbox e Criar Máquinas Virtuais (VMs)
Play Video about Como instalar o Oracle Virtualbox e Criar Máquinas Virtuais (VMs)
atualizar windows 7 para windows 10 2020
Play Video about atualizar windows 7 para windows 10 2020
Instalar o Servidor XAMPP no Linux - Localhost Apache MySQL PHP
Play Video about Instalar o Servidor XAMPP no Linux - Localhost Apache MySQL PHP
Como BAIXAR a ISO do WINDOWS 11 OFICIAL e Criar um Pendrive Bootável
Play Video about Como BAIXAR a ISO do WINDOWS 11 OFICIAL e Criar um Pendrive Bootável
Como Transferir o Windows do HD para um SSD : Migrar Windows 10 para SSD sem formatar
Play Video about Como Transferir o Windows do HD para um SSD : Migrar Windows 10 para SSD sem formatar
Como Instalar MySQL + MySQL Workbench : Windows 10
Play Video about Como Instalar MySQL + MySQL Workbench : Windows 10
Instalação Eclipse IDE - Windows
Play Video about Instalação Eclipse IDE - Windows

Discord : WebMundi.com

Uma comunidade apaixonada por tecnologia, onde entusiastas, estudantes e profissionais de TI se reúnem.

Faça Parte do nossa Comunidade!

Junte-se a nós para aprender, colaborar e expandir seus horizontes na área de informática! 🚀
Entrar
Recentes