Um kill diferente
Publicado por Vinicius Miqueloti (última atualização em 05/01/2012)
[ Hits: 5.944 ]
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;
Configuração Automática de Servidor de Arquivos
Enviar mensagem ao usuário trabalhando com as opções do php.ini
Meu Fork do Plugin de Integração do CVS para o KDevelop
Compartilhando a tela do Computador no Celular via Deskreen
Como Configurar um Túnel SSH Reverso para Acessar Sua Máquina Local a Partir de uma Máquina Remota
Configuração para desligamento automatizado de Computadores em um Ambiente Comercial
Compartilhamento de Rede com samba em modo Público/Anônimo de forma simples, rápido e fácil
Cups: Mapear/listar todas as impressoras de outro Servidor CUPS de forma rápida e fácil
Criando uma VPC na AWS via CLI
Tem como instalar o gerenciador AMD Adrenalin no Ubuntu 24.04? (14)
Tenho dois Link's ( IP VÁLIDOS ), estou tentando fazer o failover... (0)
Pendrive não formata de jeito nenhum (4)