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

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

RES: [shell-script] Controle de processos


From: Rodolfo Villanova
Subject: RES: [shell-script] Controle de processos
Date: Fri, 21 Jan 2005 14:18:21 -0300

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











reply via email to

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