< Return to Video

vimeo.com/.../919134074

  • 0:08 - 0:10
    Você tem percebido
    que o seu sistema
  • 0:10 - 0:13
    está se comportando
    de uma maneira não comum.
  • 0:13 - 0:17
    Uma série de processos está
    consumindo recursos desnecessários
  • 0:17 - 0:20
    e você precisa
    tomar uma decisão.
  • 0:21 - 0:24
    Um dos comandos mais utilizados
    para o envio de sinais a processos
  • 0:24 - 0:26
    é o comando "Kill".
  • 0:26 - 0:28
    Comando "kill",
    do inglês "matar",
  • 0:28 - 0:31
    não necessariamente
    mata os processos.
  • 0:31 - 0:32
    O correto é afirmar
    que ele envia
  • 0:32 - 0:35
    um determinado sinal
    para o processo.
  • 0:35 - 0:38
    Eu posso enviar um sinal
    para o processo parar,
  • 0:38 - 0:43
    para o processo reiniciar,
    para o processo ser morto,
  • 0:43 - 0:46
    para o processo
    ser suspendido,
  • 0:46 - 0:49
    enfim, eu posso enviar
    vários tipos de sinais
  • 0:49 - 0:51
    para um processo
    utilizando o comando "kill".
  • 0:53 - 0:56
    Vamos dar uma olhada em todas
    as opções que conseguimos explorar,
  • 0:56 - 0:58
    utilizando
    o comando "kill".
  • 0:58 - 1:02
    Primeiramente, eu vou executar
    o comando "kill -l".
  • 1:03 - 1:06
    Quando nós executamos
    esse comando,
  • 1:06 - 1:10
    ele me dá uma lista de possíveis
    sinais que eu posso enviar.
  • 1:10 - 1:12
    Detalhe importante:
    o comando "kill" aceita
  • 1:12 - 1:16
    com que eu passe o sinal
    tanto de forma numérica
  • 1:16 - 1:20
    quanto através do próprio
    nome do sinal.
  • 1:20 - 1:22
    Aqui, nós vamos abordar
  • 1:22 - 1:26
    somente as principais opções
    do comando "kill".
  • 1:26 - 1:29
    Se você tiver interesse
    em obter mais detalhes,
  • 1:29 - 1:32
    é só você ler o manual
    do "kill", o "man kill".
  • 1:32 - 1:35
    Toda vez que eu quiser
    enviar um sinal para o processo,
  • 1:35 - 1:39
    eu tenho que saber
    qual é o PID do processo.
  • 1:39 - 1:42
    Então, eu vou executar
    aqui um processo.
  • 1:42 - 1:47
    Eu vou enviar esse processo
    para o segundo plano, parando-o,
  • 1:47 - 1:51
    e, depois, eu vou enviar um outro
    sinal para o processo com o "kill".
  • 1:51 - 2:01
    eu vou executar o seguinte comando:
    grep -ri "linux" /
  • 2:01 - 2:04
    Eu estou procurando todas
    as ocorrências da palavra Linux
  • 2:04 - 2:08
    em todos os arquivos a partir
    da raiz, de forma recursiva.
  • 2:08 - 2:10
    Se eu der enter,
    automaticamente,
  • 2:10 - 2:13
    ele vai mostrar
    uma série de informações na tela.
  • 2:13 - 2:14
    Então, eu vou usar
  • 2:15 - 2:17
    esse comando
  • 2:18 - 2:22
    para que ele mande
    o que encontrar
  • 2:22 - 2:25
    para dentro do diretório
    /dev/null
  • 2:27 - 2:29
    Perceba que o comando
    está executando,
  • 2:29 - 2:32
    porém ele está executando
    em segundo plano.
  • 2:32 - 2:36
    Se der o comando
    "ps aux | grep grep",
  • 2:38 - 2:41
    ele trouxe para mim o comando,
    que está aqui.
  • 2:41 - 2:44
    Então, esse é o PID
    do comando,
  • 2:44 - 2:47
    que é o número
    que identifica o processo.
  • 2:47 - 2:51
    Se eu digitar o comando "jobs",
    ele vai mostrar todos os processos
  • 2:51 - 2:53
    que eu executei.
  • 2:53 - 2:57
    Então, automaticamente,
    tenho dois processos em execução.
  • 2:57 - 2:59
    Dois greps rodando.
  • 2:59 - 3:00
    Vamos imaginar
    o seguinte:
  • 3:00 - 3:03
    se você digitar
    o comando "jobs -l",
  • 3:03 - 3:07
    automaticamente, ele mostra
    o PID do processo.
  • 3:07 - 3:09
    Lembre-se: para poder
    executar o comando "kill",
  • 3:09 - 3:12
    eu tenho que saber
    o PID do processo.
  • 3:12 - 3:15
    Vamos imaginar que eu queira
    enviar um sinal
  • 3:15 - 3:18
    para esse comando
    de PID 959.
  • 3:18 - 3:20
    Eu vou usar
    o comando "kill "
  • 3:20 - 3:22
    Qual o sinal que eu
    quero enviar?
  • 3:22 - 3:26
    Se nós dermos um "kill -l",
    conseguimos ver todos os sinais.
  • 3:26 - 3:29
    Vamos imaginar que eu
    quero mandar um "SIGTSTP",
  • 3:29 - 3:32
    que é o sinal
    de parar o processo.
  • 3:32 - 3:37
    Eu dou um "kill",
    posso usar a opção -20
  • 3:37 - 3:41
    e posso usar o PID 959.
  • 3:41 - 3:42
    Pronto.
  • 3:42 - 3:44
    Se nós digitarmos agora
    o comando de "jobs -L",
  • 3:44 - 3:47
    perceba que o processo
    está parado.
  • 3:48 - 3:51
    Esse processo ele não foi morto,
    ele só foi parado automaticamente.
  • 3:51 - 3:57
    Eu consigo mandar um sinal
    para poder continuar esse processo? Sim,
  • 3:57 - 4:02
    que o menos o sinal que eu vou utilizar e
  • 4:02 - 4:05
    seguir cont. Que é o 18.
  • 4:05 - 4:09
    Eu posso tanto colocar o -18
    como eu posso colocar menos
  • 4:09 - 4:14
    seguir count
    e colocar o número do PID nove cinco nove?
  • 4:14 - 4:17
    Pronto, se eu der o jobs menos ele,
  • 4:17 - 4:21
    o processo voltou a ser executado.
  • 4:21 - 4:22
    O que nós fizemos?
  • 4:22 - 4:26
    Nós pegamos um processo, enviamos um sinal
    para ele com Quil para ele parar.
  • 4:26 - 4:28
    Esse processo parou.
  • 4:28 - 4:32
    Imagine que fosse um processo que estava
    consumindo muito recurso na sua máquina
  • 4:32 - 4:35
    e depois nós demos um sinal
  • 4:35 - 4:38
    para ele continuar a execução normalmente.
  • 4:38 - 4:44
    Um outro sinal que a gente pode mandar
    para o processo é o sinal para ele parar.
  • 4:44 - 4:47
    O sinal padrão de parada de processo
    é o sinal
  • 4:47 - 4:50
    15 ou se Guilherme,
  • 4:50 - 4:54
    esse sinal permite com que eu
    pare um processo de forma tranquila.
  • 4:54 - 4:58
    Sabe quando você dá, por exemplo,
    o comando System CTL Stop
  • 4:58 - 5:00
    e o nome do serviço?
  • 5:00 - 5:05
    Ou você quer que um processo pare de forma
    tranquila, sem ser parado abruptamente?
  • 5:06 - 5:11
    A opção padrão de parada de processo
    é essa -15 ou seguinte.
  • 5:11 - 5:14
    Eu vou executar
    agora na tela e vamos ver o que acontece
  • 5:14 - 5:18
    que o -15 é nove cinco nove que é o PID.
  • 5:18 - 5:20
    Pronto.
  • 5:20 - 5:22
    Se der um de obs menos ele,
  • 5:22 - 5:26
    ele está dizendo que o processo
    foi terminado.
  • 5:26 - 5:29
    Processos terminados
    não podem ser continuados, ou seja,
  • 5:29 - 5:32
    ele acabou de ser finalizado.
  • 5:32 - 5:35
    Se nós dermos novamente um de obs menos
    ele, ele não
  • 5:35 - 5:38
    mais aparece na listagem
    dos processos em execução.
  • 5:38 - 5:42
    Existe uma outra opção do comando kill,
    que é a qual as pessoas associam
  • 5:42 - 5:48
    ao fato de ele ser usado para matar,
    processo que é a opção -9 a opção -9.
  • 5:48 - 5:51
    Ela manda um sinal chamado seguinte.
  • 5:51 - 5:56
    Ou seja, ela manda o processo
    ser morto de forma abrupta.
  • 5:56 - 6:00
    Se você tiver algum arquivo aberto,
    os kill não vai se importar.
  • 6:00 - 6:03
    Se tiver alguém usando esse arquivo,
    ele não vai se importar,
  • 6:03 - 6:07
    ele simplesmente vai parar
    abruptamente o processo.
  • 6:08 - 6:11
    Apesar dessa formato, desta informação
    ser enviada direta para o processo,
  • 6:11 - 6:16
    isso pode ocasionar alguns problemas
    graves de corrompimento de dados
  • 6:16 - 6:19
    no seu sistema,
    como por exemplo, se você mandar
  • 6:19 - 6:23
    um sinal com -9 para um banco de dados,
    eu vou executar
  • 6:23 - 6:26
    ele agora aqui no terminal
    para vocês entenderem o poder que ele tem.
  • 6:26 - 6:29
    Vamos executar o comando de OBS menos ele.
  • 6:29 - 6:30
    Eu ainda tenho o meu processo.
  • 6:30 - 6:34
    Um outro processo do grep
    executando com PID 09h30 cinco
  • 6:34 - 6:37
    vou dar um kill -9
  • 6:38 - 6:39
    nove meia cinco
  • 6:39 - 6:42
    e vou dar um de obs menos ele.
  • 6:42 - 6:45
    Perceba que agora o processo
    não foi parado, ele foi morto,
  • 6:45 - 6:48
    então ele mandou um sinal
    para matar o processo.
  • 6:48 - 6:52
    É possível matar vários processos ao mesmo
    tempo?
  • 6:52 - 6:55
    Sim, nós vamos ver aqui
    uma lista de processos
  • 6:55 - 6:58
    e vamos matá los todos com o comando kill.
  • 6:58 - 7:01
    Eu vou executar novamente o grep
  • 7:01 - 7:05
    menos erre.
  • 7:05 - 7:07
    A palavra Linux
  • 7:07 - 7:11
    na raiz dois
  • 7:11 - 7:17
    é maior que um, maior que barra dev
  • 7:17 - 7:21
    ba no mandando para segundo plano.
  • 7:21 - 7:24
    Pronto, vou rodar algumas outras vezes.
  • 7:24 - 7:29
    Como executar dez vezes esse comando?
  • 7:29 - 7:35
    Se nós dermos um de obs menos ele está lá.
  • 7:35 - 7:39
    Todos os pides dos processos
    que estão rodando para você
  • 7:39 - 7:42
    finalizar todos os processos ao mesmo
    tempo, a gente vai executar o seguinte
  • 7:42 - 7:47
    comando eu vou capturar todos os pides
  • 7:47 - 7:50
    e vou executar kill.
  • 7:50 - 7:53
    E aí podemos passar tanto -9 quanto -15.
  • 7:53 - 7:57
    Lembrando que -9 vai matar o processo
    abruptamente e o -15
  • 7:57 - 8:02
    Ele vai somente parar o processo
    de forma tranquila.
  • 8:02 - 8:07
    Vou usar o sinal -9,
    que é o seguinte que eu
  • 8:07 - 8:09
    posso passar todos os pides
  • 8:09 - 8:23
    separado por espaço.
  • 8:23 - 8:24
    Perceba que realmente dá um trabalho.
  • 8:24 - 8:27
    Se eu tivesse 100 processos aqui rodando,
    eu teria que passar ali
  • 8:27 - 8:31
    os 100 números dos pides.
  • 8:31 - 8:35
    Se eu der um de obs menos,
    ele só ficou executando o processo
  • 8:35 - 8:40
    dez 37 que provavelmente eu pulei
    ele aqui da lista.
  • 8:40 - 8:48
    Vamos aproveitar então e treinar por -15.
  • 8:48 - 8:49
    Pronto,
  • 8:49 - 8:50
    esse é o comando
  • 8:50 - 8:53
    que o comando usado para a gente
    poder enviar um sinal para o processo.
  • 8:53 - 8:56
    Você pode mandar um sinal para ele
    continuar,
  • 8:56 - 8:59
    pedir, suspender para ele reiniciar.
  • 8:59 - 9:02
    Tudo depende do quanto você precisa
  • 9:02 - 9:06
    que o sinal seja enviado e como você quer
    que esse comando se comporte.
  • 9:06 - 9:10
    O comando kill permite matar processos
    utilizando o PID, o Process
  • 9:10 - 9:12
    Identification.
  • 9:12 - 9:15
    Existem dois comandos
    que facilitam muito a nossa vida
  • 9:15 - 9:19
    quando o objetivo é matar vários processos
    ao mesmo tempo.
  • 9:19 - 9:24
    Esses comandos são pequenos, é o que o
    ou o pequeno permite matar processos
  • 9:24 - 9:28
    utilizando o nome do processo,
    assim como killall.
  • 9:28 - 9:31
    Então todos os sinais que eu enviei
    para os processos usando kill
  • 9:31 - 9:33
    eu posso fazer também
  • 9:33 - 9:38
    com um comando pequeno e kill,
    porém ao invés de eu passar o PID
  • 9:38 - 9:39
    eu passo
  • 9:39 - 9:42
    o nome do processo.
  • 9:42 - 9:44
    Vamos executar agora
  • 9:44 - 9:47
    eu vou gerar uma lista de processos
    novamente
  • 9:47 - 9:51
    com o comando grep.
  • 9:51 - 9:54
    Cinco processos
    foram gerados com esse comando grep
  • 9:55 - 9:57
    grep menos e linux barra
  • 9:57 - 10:01
    dois maior e um maior
    que barra deve recomeçar
  • 10:01 - 10:05
    se nós dermos um de obs menos
    ele, estão lá todos os processos,
  • 10:05 - 10:08
    todos os processos tem o nome de grep.
  • 10:08 - 10:11
    Nesse momento
    eu vou executar o comando p kill
  • 10:11 - 10:13
    e eu posso usar todas as opções de sinais
  • 10:13 - 10:17
    que nós vimos no kill -9, -15.
  • 10:17 - 10:22
    Eu vou usar a opção -15 para parar
    esses processos de forma natural
  • 10:22 - 10:25
    e ao invés de eu passar PID por PID,
    como eu faria no que eu passo?
  • 10:25 - 10:28
    Simplesmente o nome do
  • 10:28 - 10:30
    comando que foi
  • 10:30 - 10:34
    executado, no caso aqui, o próprio grep.
  • 10:34 - 10:35
    Quando eu dou um enter,
  • 10:35 - 10:39
    ele termina todos os processos
    com o nome grep.
  • 10:39 - 10:43
    Isso permite com que eu tenha muito mais
    velocidade na execução do comando
  • 10:43 - 10:48
    quando eu quiser finalizar um processo
    ou vários processos utilizando o nome.
  • 10:48 - 10:52
    O comando kill funciona de maneira
    parecida com um comando pequeno.
  • 10:52 - 10:57
    Nós conseguimos matar diversos processos
    utilizando o nome dos processos.
  • 10:57 - 10:59
    Eu executar agora novamente o grep
  • 10:59 - 11:03
    para que a gente possa visualizar isso
    acontecendo dentro do sistema.
  • 11:03 - 11:06
    Eu vou executar agora
    cinco vezes o comando grep
  • 11:06 - 11:10
    para que gerem os processos e a gente
    possa utilizar o que o HAL para matá lo.
  • 11:10 - 11:14
    Uma, duas, três, quatro, cinco.
  • 11:14 - 11:18
    Se nós executarmos o comando de obs menos
    ele está lá.
  • 11:18 - 11:22
    Cinco O processo de execução
    O nome do processo é grep.
  • 11:22 - 11:26
    Eu vou usar o kill
    para poder matar esses processos.
  • 11:26 - 11:29
    Vou utilizar os mesmo
    sinais que eu uso no kill e no pq
  • 11:29 - 11:33
    eu vou colocar por exemplo
    os ao -9 para matar o processo forçando.
  • 11:33 - 11:37
    E o comando que quero matar é o
    todos os comandos que contem o nome grep.
  • 11:37 - 11:41
    Eu recebi uma mensagem
    que o comando killall não foi encontrado.
  • 11:41 - 11:44
    Vamos instalá lo através do comando
  • 11:44 - 11:47
    apertei install ps misc.
  • 11:47 - 11:55
    Vou utilizar a opção menos y para ele
    dizer sim para todos os questionamentos.
  • 11:55 - 11:57
    Pronto, uma vez instalado
  • 11:57 - 12:00
    parece me que ele trouxe para mim
    o kill e ele
  • 12:00 - 12:03
    eu vou executar novamente
    o comando kill ao -9
  • 12:03 - 12:08
    e automaticamente ele matou
    todos os processos que tinham o nome grep
  • 12:08 - 12:13
    com esses três comandos kill pq eu e kill
    nós podemos enviar diversos
  • 12:13 - 12:18
    sinais aos processos, podemos parar,
    reiniciar, suspender, continuar.
  • 12:18 - 12:22
    Ou seja, você pode manipular os processos
    conforme a sua necessidade
  • 12:23 - 12:25
    e se tornar ainda mais eficiente
  • 12:25 - 12:29
    na operação do terminal Linux,
    utilizando o processo de.
Title:
vimeo.com/.../919134074
Video Language:
Portuguese, Brazilian
Duration:
12:32

Portuguese, Brazilian subtitles

Revisions Compare revisions