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

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

RES: [shell-script] Como saber se meu shell já está executando?


From: Rodolfo Villanova
Subject: RES: [shell-script] Como saber se meu shell já está executando?
Date: Tue, 15 Mar 2005 10:14:46 -0300

People,

Creio que o que o nosso amigo Barioni deseja é evitar que haja mais de uma
instância do mesmo script rodando ao mesmo tempo.
Presumo isso em razão de que a maioria de meus scripts fazem esse tipo de
teste.

Veja se isso serve:

if [ `ps -ef | grep -v grep | grep "$nome_script"` ]; then
    echo "$0 já está no ar. Tchau..."
    exit
else
    echo "Dispara o bicho"
    . $nome_script
fi

Abraço,
--------------------------
Rodolfo D. Gross Villanova

> -----Mensagem original-----
> De: Andreyev Dias de Melo [mailto:address@hidden]
> Enviada em: segunda-feira, 14 de março de 2005 14:19
> Para: address@hidden
> Assunto: Re: [shell-script] Como saber se meu shell já está executando?
>
>
>
> On Mon, 07 Mar 2005 22:23:23 -0000, rcbarioni
> <address@hidden> wrote:
> >
> >
> > Em um shell qualquer, como fazer o IF abaixo com segurança?
> >
> >     if [ ... TESTAR SE O SHELL $0 JÁ ESTÁ RODANDO ... ]
> >
> >     then
> >
> >          echo "O shell $0 já está rodando. Caindo fora."
> >
> >     else
> >
> >          echo "ok, vamos executar as instruções."
> >
> >          instruções... instruções...
> >
> >     fi
>
> Em bash você pode pegar o código de status do último comando na
> variável $?:
>
> $ ping -c 1 -t 1 -q localhost > /dev/null
> $ echo $?
> 0
>
> Ou seja, se voltou 0 (zero) geralmente não deu nenhum erro. Porém,
> alguns programas não seguem esta regra.
>
> Se o script for seu, é bem interessante colocar um 'controle' de
> erros, onde vc 'cadastra' os erros mais comuns/importantes...
> []s
> --
> Andreyev




reply via email to

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