< Return to Video

vimeo.com/.../919134074

  • 0:08 - 0:09
    Você tem percebido que o seu
  • 0:09 - 0:13
    sistema está
    se comportando de uma maneira não comum?
  • 0:14 - 0:16
    Uma série de processos
    está consumindo recursos e é necessário
  • 0:16 - 0:21
    isso ali,
    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:28
    é o comando
    que o comando kill do inglês matar
  • 0:28 - 0:31
    não necessariamente mata os processos.
  • 0:31 - 0:35
    O correto afirmar que ele envia
    um determinado sinal para o processo.
  • 0:35 - 0:38
    Eu posso enviar um sinal para o processo
    parar?
  • 0:38 - 0:43
    Eu posso enviar um sinal para o processo
    reiniciar para o processo ser morto?
  • 0:43 - 0:46
    Eu posso enviar um sinal para o processo
    ser suspendido?
  • 0:46 - 0:49
    Enfim,
    eu posso enviar vários tipos de sinais
  • 0:49 - 0:53
    para um processo
    utilizando o comando kill.
  • 0:53 - 0:56
    Vamos dar uma olhada em todas as opções
    que a gente consegue explorar.
  • 0:56 - 0:59
    Utilizando o comando kill,
    primeiramente eu vou executar o comando
  • 0:59 - 1:03
    kill espaço menos ele.
  • 1:03 - 1:06
    Quando nós executamos o comando,
    o que o espaço menos ele,
  • 1:06 - 1:10
    ele me dá uma lista de possíveis sinais
    que eu posso enviar.
  • 1:10 - 1:14
    Detalhe importante o comando kill
    aceita com que eu passe o sinal
  • 1:14 - 1:20
    tanto de forma numérica
    quanto através do próprio nome do sinal.
  • 1:21 - 1:26
    Aqui nós vamos abordar 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 que 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:43 - 1:47
    Eu vou enviar esse processo
    para o segundo plano parando ele
  • 1:47 - 1:52
    e depois eu vou enviar um outro sinal
    para o processo com que eu vou executar
  • 1:52 - 1:58
    o seguinte comando grep menos r e espaço
    aspas duplas
  • 1:58 - 2:01
    linux aspas dupla barra.
  • 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:09
    se dão enter
  • 2:09 - 2:13
    automaticamente ele vai mostrar
    uma série de informações na tela.
  • 2:13 - 2:15
    Então eu vou usar
  • 2:15 - 2:18
    esse comando
  • 2:18 - 2:20
    para que ele mande
  • 2:20 - 2:23
    o que ele encontrar
    para dentro do diretório.
  • 2:24 - 2:26
    Barra deve barra no
  • 2:26 - 2:28
    pronto.
  • 2:28 - 2:31
    Perceba que o comando está executando,
    porém ele está executando em segundo
  • 2:31 - 2:32
    plano.
  • 2:32 - 2:34
    Você dá o comando. PS ao x.
  • 2:34 - 2:38
    Pipe grep grep
  • 2:38 - 2:41
    Ele trouxe para mim o comando aqui.
  • 2:41 - 2:47
    Então esse é o PID do comando,
    que é o número que identifica o processo.
  • 2:47 - 2:52
    Se eu digitar o comando jobs,
    ele vai mostrar todos os processos que eu
  • 2:52 - 2:53
    executei.
  • 2:53 - 2:57
    Então, automaticamente
    eu tenho dois processos ali em execução.
  • 2:57 - 2:59
    Dois grupos rodando.
  • 2:59 - 3:03
    Vamos imaginar o seguinte
    se você digitar o comando jobs menos ele,
  • 3:03 - 3:07
    automaticamente ele mostra o pedido
    processo.
  • 3:07 - 3:08
    Lembre se para gente
  • 3:08 - 3:12
    poder executar o comando kill,
    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 pedir nove
    cinco nove.
  • 3:18 - 3:20
    Eu vou usar o comando que o espaço?
  • 3:20 - 3:22
    Qual o sinal que eu quero enviar?
  • 3:22 - 3:26
    Se nós dermos um til o menos
    ele, a gente consegue ver todos os sinais.
  • 3:26 - 3:31
    Vamos imaginar que eu quero mandar um
    seguido de STP, que é o sinal
  • 3:31 - 3:32
    de parar o processo.
  • 3:32 - 3:37
    Eu dom que eu posso usar a opção -20
  • 3:38 - 3:41
    e posso usar o PID nove cinco nove.
  • 3:41 - 3:42
    Pronto.
  • 3:42 - 3:44
    Se nós digitarmos
    agora o comando de obs menos ele,
  • 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