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.