[Cascavel-pm] captura de mensagens de programa

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


  Alceu, eu não me lembro ao certo o nome do Módulo, mas existe uma função
da biblioteca padrão chamada open2(), que permite "abrir" programas (para
entrada e saída), e outra, chamada open3(), que permite "abrir" programas,
capturando separadamente a entrada, a saída e a saída 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 então
>
> 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 saída do programa, eu logicamente deveria
utilizar a segunda forma. O problema é que eu queria testar a execução do
programa, e em caso de erro, utilizar a própria 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 variável escalar $resultado simplesmente não recebe valor algum! Eu não
quero usar die para verificar a saída do programa, e sim checar o valor da
variável para exibir ou não uma mensagem de erro.
>
> Alguém já passou por situação semelhante? Eu variações 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
>
>
ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÁºÇa¨h£ó¬z»âþ?^nëjf¢±
Ê&¦W­¡Ö^z׫ëÿ:«z¾?ÿ¥éìjºj(ýéÜ¢{kkøm¶Yÿýºÿnëküs?Sÿr?¿
> _______________________________________________
> Cascavel-pm mailing list
> Cascavel-pm em mail.pm.org
> http://cascavel.pm.org/mailman/listinfo/cascavel-pm
>




Mais detalhes sobre a lista de discussão Cascavel-pm