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