-----Mensagem original-----
De: Rodolfo Villanova
[mailto:address@hidden]
Enviada em: terça-feira, 15 de março de 2005 10:15
Para: address@hidden
Assunto: RES: [shell-script] Como saber se meu shell já está executando?
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
---------------------------------------------------------------------
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