Um kill diferente
Publicado por Vinicius Miqueloti (última atualização em 05/01/2012)
[ Hits: 6.279 ]
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;
Pequeno gerador de relatório da rede (CSV)
Checar conexão com a internet - pppoe
Trocar senha no primeiro login em PDC SAMBA
Script para adicionar chave pública
Gentoo: detectando impressoras de rede e como fixar uma impressora por IP
Como o GNOME conseguiu o feito de ser preterido por outras interfaces gráficas
Gentoo binário em 2026: UEFI, LUKS, Btrfs e Systemd
Trabalhando Nativamente com Logs no Linux
Jogando Daikatana (Steam) com Patch 1.3 via Luxtorpeda no Linux
Por que sua empresa precisa de uma PKI (e como automatizar EMISSÕES de certificados via Web API)
Instalando NoMachine no Gentoo com Systemd (acesso Remoto em LAN)
Gentoo: Trocando wpa_supplicant pelo iwd no NetworkManager (Systemd)
O que houve com slackware ??? (12)
Alterar conteúdo de dica [RESOLVIDO] (3)
Vou destruir sua infância:) (5)









