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

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

Re: Verificar executar em bg


From: Enio
Subject: Re: Verificar executar em bg
Date: Mon, 08 Nov 2010 15:36:44 -0000
User-agent: eGroups-EW/0.82

Não funcionou tbm... refiz o script da seguinte maneira:

#!/bin/bash
rm -rf relatorio
echo '#!/bin/bash' > listapps.sh
chmod +x listapps.sh
ls ./programas | cut -d '/' -f4 | while read apps; do
echo ""$apps" \"&\"" >> listapps.sh
echo "echo $apps \"\$?\" >> relatorio" >> listapps.sh
echo "kill -9 \"\$!\"" >> listapps.sh
done
./listapps.sh

retornou o código de erro 139, porém, um programa q retornava 0 (zero) agora 
reclamou do & e retornou 1...

Bom, acho q vou desistir de fazer isso... =p

Obrigado a todos que responderam.

Abs,
Enio Onodera

--- Em address@hidden, eric miranda <ericitaquera@...> escreveu
>
> Amigão, aqui funcionou assim:
> 
> #!/bin/bash
> rm -rf relatorio
> dire=$(ls ./programas)
> for prog in $dire; do
> ${prog} &
> ERRO=$?
> echo "${prog}" "${ERRO}" >> relatorio
> kill -9 $!
> done
> O problema é que quando vc põe um processo pra rodar em background, um echo
> $? retorna sempre 0.
> Em 7 de novembro de 2010 14:58, Enio Onodera <fuel_sp@...>escreveu:
> 
> >
> >
> > Eu tinha testado assim tbm... e testei agora de novo, por via das
> > duvidas... heheheheMas assim ele se comporta do mesmo modo de quando executo
> > sem as aspas, ou seja, sempre retorna o código de erro 0 (zero)... talvez
> > esteja retornando o código de erro do ls...Ah, já tentei também "salvar" o
> > parametro - "$prog \&" e "$prog ' &'" -  mas dá o erro de comando não
> > encontrado.
> > Abs,Enio Onodera
> > --- Em dom, 7/11/10, Elder Marco <eldermarco@...<eldermarco%40gmail.com>>
> > escreveu:
> >
> > De: Elder Marco <eldermarco@... <eldermarco%40gmail.com>>
> > Assunto: Re: [shell-script] Verificar executar em bg
> > Para: address@hidden <shell-script%40yahoogrupos.com.br>
> > Data: Domingo, 7 de Novembro de 2010, 14:46
> >
> >
> >
> >
> > Em 7 de novembro de 2010 14:24, Enio <fuel_sp@...<fuel_sp%40yahoo.com.br>>
> > escreveu:
> >
> > >
> >
> > >
> >
> > > Olá.
> >
> > >
> >
> > > Fiz o seguinte script:
> >
> > >
> >
> > > #!/bin/bash
> >
> > > rm -rf relatorio
> >
> > > dire=`ls ./programas`
> >
> > > for prog in $dire; do
> >
> > > "$prog &"
> >
> > > echo "$prog" "$?" >> relatorio
> >
> > > kill -9 $!
> >
> > > done
> >
> > >
> >
> > > a intenção é iniciar cada programa desse diretório, capturar o código de
> >
> > > erro apresentado e matá-lo.
> >
> > > O problema é que quando o programa inicia sem erros, ele entra em
> > execução
> >
> > > e não é possível finalizá-lo, para isso eu usei o & que faz o programa
> >
> > > executar em bg, porém, no script, os programas entendem que o & é uma
> > opção
> >
> > > e retornam que essa opção não existe. O mesmo não acontece se eu for
> > direto
> >
> > > no terminal e usar "programa &", onde o programa iniciará o processo em
> > bg.
> >
> > >
> >
> > Não seria porque você deveria fazer assim:
> >
> > "$prog" &
> >
> > Em vez de
> >
> > "$prog &"
> >
> > ?
> >
> > --
> >
> > Elder Marco
> >
> > GNU/Linux User: #471180
> >
> > "Contra o positivismo, que pára perante os fenômenos e diz: 'Há apenas
> >
> > fatos', eu digo: 'Ao contrário, fatos é o que não há; há apenas
> >
> > interpretações'. "(Nietzsche)
> >
> > [As partes desta mensagem que não continham texto foram removidas]
> >
> > [As partes desta mensagem que não continham texto foram removidas]
> >
> >  
> >
> 
> 
> [As partes desta mensagem que não continham texto foram removidas]
>




reply via email to

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