[Cascavel-pm] captura de mensagens de programa

Luis Campos de Carvalho lechamps em terra.com.br
Segunda Maro 10 10:56:21 CST 2003


  Alceu, eu no me lembro ao certo o nome do Mdulo, mas existe uma funo
da biblioteca padro chamada open2(), que permite "abrir" programas (para
entrada e sada), e outra, chamada open3(), que permite "abrir" programas,
capturando separadamente a entrada, a sada e a sada de erros. Acho que
pode valer  pena dar uma espiada...

  []'Z!
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
  Luis Campos de Carvalho
  Computer Science Student
  OCP DBA Oracle & Unix Sys Admin
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=


----- Original Message -----
From: "Alceu Rodrigues de Freitas Junior" <glasswalk3r em yahoo.com.br>
To: <cascavel-pm em mail.pm.org>
Sent: Friday, February 28, 2003 4:57 PM
Subject: [Cascavel-pm] captura de mensagens de programa


> Ol lista,
>
> Estou tentando criar um CGI que executa um comando de sistema. Como
iniciativa de torn-lo mais seguro, eu ativei o modo Taint (-T).
>
> Para poder executar o programa sem chamar o shell eu tenho que fazer:
>
> system ("/usr/bin/programa","parametro1","parametro2");
>
> ou ento
>
> my $pid = open (PROG,"-|");
> die "cannot fork $!" unless defined $pid;
> unless ($pid) {
> exec /usr/bin/programa, $parametro1, $parametro2 or die "cannot open pipe
programa: $!";
> }
>
> Como eu quero capturar a sada do programa, eu logicamente deveria
utilizar a segunda forma. O problema  que eu queria testar a execuo do
programa, e em caso de erro, utilizar a prpria mensagem do programa e criar
uma mensagem acompanhada de header http e tudo o mais.
>
> my $pid = open (PROG,"-|");
> die "cannot fork $!" unless defined $pid;
> unless ($pid) {
> my $resultado = exec /usr/bin/programa, $parametro1, $parametro2;
> }
>
> A varivel escalar $resultado simplesmente no recebe valor algum! Eu no
quero usar die para verificar a sada do programa, e sim checar o valor da
varivel para exibir ou no uma mensagem de erro.
>
> Algum j passou por situao semelhante? Eu variaes do uso de open, sem
sucesso.
>
> []'s
>
>
> --
> Alceu Rodrigues de Freitas Junior
> glasswalk3r em yahoo.com.br
> ---------------------------------------------------------------
> "The 7 Deadly Sins are:/ Wealth without work/ Pleasure without
> conscience/ Knowledge without character/ Business without
> morality/ Science without humanity/ Worship without sacrifice/
> Politics without principle" - Mahatma Ghandi
>
>
ahz?^njf
&W^z׫:z?jj(ܢ{kkmYnks?Sr?
> _______________________________________________
> Cascavel-pm mailing list
> Cascavel-pm em mail.pm.org
> http://cascavel.pm.org/mailman/listinfo/cascavel-pm
>




Mais detalhes sobre a lista de discusso Cascavel-pm