shell-script-pt
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [shell-script] Controle de processos


From: Rafael Lahm
Subject: Re: [shell-script] Controle de processos
Date: Sat, 22 Jan 2005 15:35:09 -0200

Outra alternativa para fazer com que os processos fiquem 
executando é usar o init para reinicia-los após eles pararem:

> cat 'pm:34:respawn:/usr/bin/touch /tmp/teste' >> /etc/inittab
> killall -1 init

Onde o primeiro campo é a identificação, seguido do run-level do 
processo, respawn faz o comando que vem em seguida ser executado 
novamente após ser encerrado. E os logs serão gerados pelo init 
via syslog:

Jan 22 15:28:16 bobfilho init: Id "pm" respawning too fast: disabled for 5 
minutes


--
Rafael Lahm


On Fri, 21 Jan 2005 14:18:21 -0300
"Rodolfo Villanova" <address@hidden> wrote:

> 
> Naira,
> 
> Gostaria de apresentar mais uma forma de monitorar processos ativos.
> O pedaço do script Korn Shell abaixo é parte de um script maior.
> Ele não está otimizado porque foi um dos primeiros scripts "de porte" que
> criei há uns 3 anos atrás, mas está funcionando bem até hoje.
> 
> 8<--------------------------------------------------------->8
> #!/bin/ksh
> # Verifica quais servicos estao inativos
> ARQ_REL=/diretorio/arq_processos.txt
> ARQ_OUT=/diretorio/log/arquivo.log
> DATA=`date +%d/%m/%Y`
> HORA=`date +%H:%M:%S`
> while read -r SERVICO resto
> do
>   PROC_ATIVO=`ps -ef | grep "${SERVICO}" | grep -v grep`
>   if [ -z "$PROC_ATIVO" ]; then
>       # Registra no log o nome do servico caido
>       echo "[${DATA} ${HORA}] *** Processo caido: <$SERVICO>" >> $ARQ_LOG
>   fi
> done < $ARQ_REL
> 
> if [ -s $ARQ_LOG ]; then
>     cat $ARQ_LOG | mailx -s "Processos fora de serviço no servidor
> `uname -n`" minhaconta@dominio meucelular@dominio
> fi
> 8<--------------------------------------------------------->8
> 
> Procurei isolar em um arquivo à parte a relação de processos do script em
> si, para no futuro somente acrescentar/retirar/alterar processos que
> eventualmente saiam de ou entrem em produção.
> 
> Como uma da aplicação já monitora os processos em atividade e os ressussita
> um deteminado número de vezes em suas quedas, no meu script original
> procurei, antes de enviar a tal mensagem, fazer com que ele se certifique
> que a queda do(s) processo(s) está ocorrendo há pelo menos duas constatações
> seguidas, ou seja, a aplicação provavelmente não conseguiu mais reanimar os
> processos moribundos.
> 
> Bom proveito!
> --------------------------
> Rodolfo D. Gross Villanova
> 
> > -----Mensagem original-----
> > De: Julio Cezar Neves - DATAPREVRJ
> > [mailto:address@hidden]
> > Enviada em: sexta-feira, 21 de janeiro de 2005 11:54
> > Para: address@hidden
> > Assunto: RES: [shell-script] Controle de processos
> >
> > Naira,
> > o sinal 17 é acionado toda vez que um processo filho termina, desta forma,
> > faça um script +/- assim:
> >
> > trap "mail ......; exit" 17
> > /caminho/do/programa
> >
> > Só isso! Como teste, experimente o seguinte:
> >
> > Prompt> trap "echo Meu filho terminou" 17
> > Prompt> sleep 3 &
> >
> > Vc verá que 3 segundos após, receberá a msg acusando o término do
> > processo.
> > Agora faça:
> >
> > Prompt> trap 17
> >
> > senão a msg será dada para cada instrução que vc executar.
> >
> > [ ]s,
> > Julio
> > :wq
> >
> > | -----Mensagem original-----
> > | De: Naira [mailto:address@hidden]
> > | Enviada em: quinta-feira, 20 de janeiro de 2005 14:54
> > | Para: address@hidden
> > | Assunto: [shell-script] Controle de processos
> > |
> > |
> > |
> > | Olá a todos,
> > |
> > | Preciso fazer um script que controle um processo, e caso ele
> > | não esteja
> > | ativo dispare um e-mail para mim (esta parte está pronta), não estou
> > | conseguindo monitorar o processo via script, alguém tem alguma idéia.
> > |
> > | Vou colocar o script no cron para rodar a cada 5 minutos, mas
> > | não estou
> > | conseguindo controlar se o processo está ativo ou não. Estou querendo
> > | monitorar o producer.
> > |
> > | Obrigado,
> > |
> > | --
> > | Naira
> > |
> > |
> > |
> > | ---------------------------------------------------------------------
> > | Esta lista não admite a abordagem de outras liguagens de
> > | programação, como perl, C etc. Quem insistir em não seguir
> > | esta regra será moderado sem prévio aviso.
> > | ---------------------------------------------------------------------
> > | Sair da lista: address@hidden
> > | ---------------------------------------------------------------------
> > | Esta lista é moderada de acordo com o previsto em
> > http://www.listas-discussao.cjb.net
> > ---------------------------------------------------------------------
> >
> > Links do Yahoo! Grupos
> >
> >
> >
> >
> >
> >
> >
> >
> >
> > ---------------------------------------------------------------------
> > Esta lista não admite a abordagem de outras liguagens de
> > programação, como perl, C etc. Quem insistir em não seguir esta
> > regra será moderado sem prévio aviso.
> > ---------------------------------------------------------------------
> > Sair da lista: address@hidden
> > ---------------------------------------------------------------------
> > Esta lista é moderada de acordo com o previsto em
> http://www.listas-discussao.cjb.net
> ---------------------------------------------------------------------
> 
> Links do Yahoo! Grupos
> 
> 
> 
> 
> 
> 
> 
> 
> 
> 
> 
> ---------------------------------------------------------------------
> Esta lista não admite a abordagem de outras liguagens de programação, como 
> perl, C etc. Quem insistir em não seguir esta regra será moderado sem prévio 
> aviso.
> ---------------------------------------------------------------------
> Sair da lista: address@hidden
> ---------------------------------------------------------------------
> Esta lista é moderada de acordo com o previsto em 
> http://www.listas-discussao.cjb.net
> ---------------------------------------------------------------------
>  
> Links do Yahoo! Grupos
> 
> 
> 
> 
>  
> 
> 
> 



reply via email to

[Prev in Thread] Current Thread [Next in Thread]