[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
RES: _[shell-script]_Redirecionar_saída_padrão_de_erro_para_entrada_de_s
From: |
Julio Cezar Neves - DATAPREVRJ |
Subject: |
RES: _[shell-script]_Redirecionar_saída_padrão_de_erro_para_entrada_de_script |
Date: |
Thu, 21 Nov 2002 16:50:46 -0300 |
Reinaldo,
acho shell o > barato! No prompt faça o seguinte:
Prompt> mkfifo fifo1
Prompt> ls -l fif*
prw-r--r-- 1 jneves ssup 0 Nov 21 16:41 fifo1
Como vc pode ver pelo tipo de arquivo (p) vc acabou de criar um "named
pipe", que serve para fazer o "tunneling" que o "grande Rodolfo" falou.
Desta forma, redirecione a saída de erro do seu programa cobol (argh!) para
fifo1:
Prompt> cobrun programa 2> fifo1
coloque todo o seu script.sh dentro de um loop de while da seguinte maneira:
while true
do
Erro=`cat pipe1`
...
conteúdo de script.sh usando a saída de erro que esta dentro da variável
$Erro
...
done
desta forma seu script não estaria onerando a máquina já que ficaria em
estado de espera, (waiting) sendo imediatamente ativado toda vez que seu
programa em Cobol der um erro.
[ ]s,
Julio Cezar Neves
-Eu Apoio o Software Livre-
-I Support Free Software-
* +55 21 2528-7070 / 9853-4044
*address@hidden
> -----Mensagem original-----
> De: Rodolfo Villanova
> [mailto:address@hidden]
> Enviada em: quarta-feira, 20 de novembro de 2002 15:56
> Para: address@hidden
> Assunto: RE:
> _[shell-script]_Redirecionar_saída_padrão_de_erro_para_entrada
> _de_script
>
>
> Reinaldo,
>
> Eu não tenho doutorado em shell-script, mas até onde vai o
> meu conhecimento, se tu
> direcionar a saida de erros de execução de um processo, da
> forma que esboçaste:
>
> cobrun programa 2> script.sh
>
> Sempre as mensagens de erro irão sobrescrever o arquivo script.sh.
> A idéia de disparar o script somente quando ocorrer o
> problema é boa, mas no caso
> mencionado a lógica do *n?x é despejar a saída dentro do
> arquivo script.sh, e não fazer um
> "tunneling" da saída de erros para ser aproveitado pelo script.sh.
>
> O problema é interessante!
>
> É possível aproveitar um "trap" para realizá-lo?
>
> Ofereço a palavra aos mestres da lista (Julio Cesar Neves e
> José Augusto Nieviadonski).
>
>
> Rodolfo Villanova
>
> > -----Original Message-----
> > From: Reinaldo Souza [mailto:address@hidden]
> > Sent: Wednesday, November 20, 2002 1:34 PM
> > To: address@hidden
> > Subject:
> >
> RE:_[shell-script]_Redirecionar_saída_padrão_de_erro_para_entr
> ada_de_scr
> > ipt
> >
> >
> > Olá Rodolfo,
> >
> > > Creio que o que desejas é direcionar a saída de
> > > erros para um arquivo à parte.
> > > Assim, altere a 3a. linha do teu script para:
> > >
> > > cat arquivo_qqer > /tmp/log.$$ 2> /tmp/erros.log
> > >
> > > E para depurar os erros, passe o nome do log de
> > > erros como parametro para o script
> > > depurador:
> > >
> > > script-depurador /tmp/erros.log
> > >
> > > >
> > > > Agradeço desde já.
> > >
> > > Não tem de quê. Estamos aí pra trocar figurinhas!
> > >
> > > >
> > > > Reinaldo Souza
> > > >
> > >
> >
> > Não é exatamente isso. O problema é que tem um
> > ambiente com uma aplicação cobol que está dando muitos
> > problemas de corrupção de arquivos. A Software House
> > diz que é problema de rede e quem dá suporte à rede
> > diz que é o sistema.
> >
> > Acontece que o runtime do cobol gera menssagens de
> > erros fatais e aborta a execução do sistema, sem choro
> > nem vela. Então com
> > # cobrun programa 2> log.erro
> > eu consigo guardar estas menssagens, mas não sei qual
> > máquina originou o erro e nem quando. A idéia seria a
> > seguinte:
> > # cobrun programa 2> script.sh
> > Em script.sh eu pego a entrada padrão (que seria a
> > saída padrão de erro do cobrun), acrescento as
> > informações que preciso e gravo no log. Assim, o
> > script só seria disparado se houvesse erro. Eu tenho
> > outra solução que seria o script monitorar um arquivo,
> > mas isto representa sobrecarga de processamento,
> > indesejável no caso. Do jeito que está:
> > # cobrun programa 2> script.sh
> > a saída padrão de erro está sendo gravada no arquivo
> > script.sh.
> >
> > Acho que agora fui mais claro.
> >
> > Grato,
> >
> >
> > Reinaldo Souza
>
>
>
>
> ---------------------------------------------------------------------
> 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.listasdiscussao.cjb.net
---------------------------------------------------------------------
Seu uso do Yahoo! Grupos é sujeito às regras descritas em:
http://br.yahoo.com/info/utos.html
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- RES: _[shell-script]_Redirecionar_saída_padrão_de_erro_para_entrada_de_script,
Julio Cezar Neves - DATAPREVRJ <=