Um kill diferente
Publicado por Vinicius Miqueloti (última atualização em 05/01/2012)
[ Hits: 6.326 ]
Homepage: http://www.targetso.com/portal/
Desenvolvi um script que tem por finalidade matar um processo através do 'comando/parte do comando' que foi utilizado para iniciar este mesmo processo.
O script foi criado para solucionar o problema onde eu deveria iniciar um script em java que roda (em um servidor com diversas aplicações) às 00:00 horas e matá-lo às 06:00, o problema era a lentidão das aplicações ao rodar o script java pois o mesmo sobrecarregava o banco de dados e a JVM tornando-o impraticável o uso das aplicações.
O uso deste script para mim é agendar uma tarefa com o at em um determinado horário e matar após um outro horário, e o uso segue da seguinte forma:
ex:
#inicio do processo
at 00:00
cd /diretorio_onde_esta_meu_script/
php meu_script_20120104.php
#fim do script
at 06:00
cd /diretorio_onde_esta_o_kill.sh/
./kill.sh 120104.php
#fim do exemplo
Como podem ver, matei o script.php utilizando um pequeno trecho do comando que foi executado, neste caso o comando executado foi php meu_script_20120104.php e para matar utilizei apenas 120104.php
Deve-se ter cuidado com a utilização para não matar coisas indevidas, se você der um ./kill.sh a irá matar todos os processos que contiverem a letra a!
Ainda irei incrementar mais funções como uma opção que permita o kill.sh rodar mais de uma vez caso o script que queira matar esteja sendo executado em diversas instâncias, no entanto, a principio pode utilizar diversas vezes que matará por ordem de pid.
#!/bin/bash # Mata um processo atraves do parametro passado, que deve ser parte do comando # utilizado para iniciar o processo. # Verifica se foi passado o parametro if [ $# -ne 1 ]; then echo "USO: ./kill.sh parte_do_comando_a_killar" exit fi # Obtem o pid do processo a 'killar' VAR0=$(ps -ef | grep $1 | cut -d" " -f6 | sort | head -1); # Mata o processo de acordo com o parametro ordenado por pid menor kill -9 $VAR0;
[Nokia-3g] Configuração do Nokia Internet Stick CS 10
Instalação de servidor Squid rápido e fácil
Verificando roteamento em vários servidores Linux
Instalar e Configurar a santíssima trindade (PAP) no Void Linux
O Editor de Texto Nano: Simplicidade no Terminal
SynapSeq - programa para estimular as ondas cerebrais
Por que seu __DIR__ falhou ou o "inferno" dos caminhos no PHP
[Resolvido] Meu monitor suporta 100fps. Por que o máximo é 60fps nos jogos?
Jogando "Magic" gratuitamente no Linux
Zoxide e fzf no bash para incrementar o uso do Terminal
[pedido] biglinux versao 1 (0)
A falsa sensação de que entende a tal da palavra! (1)
Eu aprendi o segredo das artes! hahaha (5)









