Um kill diferente
Publicado por Vinicius Miqueloti (última atualização em 05/01/2012)
[ Hits: 6.003 ]
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;
Restaura gerenciador de boot grub
Script atualizado para conexão ADSL no Slackware
Como gerar qualquer emoji ou símbolo unicode a partir do seu teclado
Instalar e Configurar o Slackware Linux em 2025
Como configurar os repositórios do apt no Debian 12 em 2025
Passkeys: A Evolução da Autenticação Digital
Instalação de distro Linux em computadores, netbooks, etc, em rede com o Clonezilla
Configurando o Conky para iniciar corretamente no sistema
3 configurações básicas que podem melhorar muito a sua edição pelo editor nano
Como colorir os logs do terminal com ccze
Instalação Microsoft Edge no Linux Mint 22
Como configurar posicionamento e movimento de janelas no Lubuntu (Openbox) com atalhos de teclado
firefox nao guarda meus logins nos sites (1)
Instalar debian testing (13) "por cima" do debian 12 (2)
Erro de segmentação «Segmentation fault (core dumped)» ao retornar obj... (1)