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

Re: Verificar se processo está sendo executado



Olá,

Em 13/02/06, Strehle<strehle@acessa.com.br> escreveu:
>
> Fala Lista blz....
>
> Estamos ai de novo... preciso de uma dica...
> Gostariam de criar um arquivo de lot q verificaria se um processo está ativo
> e se não estivesse iniciaria o mesmo...
>
> Como poderia ser esse arquivo??

Pelo que eu entendi, você quer aplicar a técnica de respawning, ou
seja, se um processo cair, você levanta ele de volta.

Bom, eu bolei um script de exemplo agorinha para vc se basear. Veja:

#!/bin/bash -evh

PROCCESS=apache2
TIME=60
FOUND=0

while true; do
    for ps in `ps ax -o comm`; do
        if [ $ps = $PROCCESS ]; then
            FOUND=1;
        fi
    done
    if [ $FOUND -eq 0 ]; then
        /etc/init.d/apache2 start
    fi
    FOUND=0;
    sleep $TIME
done

Este script bash verifica a cada 60 segundos se há um processo chamado
apache2 em execução. Caso não haja, ele inicia o apache2. Isto serve
para qualquer processo que você queira. No caso, eu dei este exemplo
com o apache2. Basta vc modificar o script.

Para rodar este script como um daemon, use:
nohup nome_script.sh &

Mas seria melhor colocá-lo em /etc/init.d/ bolando um script melhor
para isso. Se não souber, me avise ;]

--
Um abraço,
Jonas Roberto de Goes Filho (sysdebug)
http://goes.eti.br



Reply to: