Главная страница


ru.perl

 
 - RU.PERL ----------------------------------------------------------------------
 From : Serge Matveev                        2:5030/182     11 Mar 2001  20:49:44
 To : Oleh Khoma
 Subject : Поймать stdout
 -------------------------------------------------------------------------------- 
 
 
 10 Мар 01 18:33, Oleh Khoma wrote to All:
 
 OK> Для рассылки почты используется сендмейл вот таким вот образом:
 
 OK> open (SENDMAIL, "|/usr/sbin/sendmail -t -oi -odd")
 
 OK> Как поймать то, что этот процесс может выводить в stdout/stderr? Все
 OK> это происходит в CGI скрипте, потому то, что валится в STDOUT есть
 OK> бяка приводящая к 500 Server Error. Чтобы убрать сообщения делаю так:
 
 OK> open (SENDMAIL, "|/usr/sbin/sendmail -t -oi -odd > /dev/null 2>&1")
 
 OK> Hо мне в принципе очень хочется как то заполучить то, что оно выводит.
 OK> Взять текст ошибки. Поскольку открыть процесс для чтения и записи
 OK> одновременно нельзя, то как бы это сделать? И лучше без промежуточного
 OK> файла.
 
     У меня сделано нечто вроде вот этого. Правда _не_ из CGI.
 
     В начале программы
 
 my $MAIL = '|/usr/sbin/sendmail serge';
 open STDOUT, $MAIL
 
     Потом
 
 $email = "worm@transinf.spb.ru"
 open MAIL, "|/usr/sbin/sendmail $email"
 
 [Что-то тут льётся в середине] и в конце
 
 close MAIL or my_die "Hе могу закрыть |/usr/bin/sendmail $email"
 
     И получаю письмо с ошибкой (как раз по close or die) вида:
 
 -----------------------------------------------------------------------------
 From: Serge Matveev <serge>
 Date: Wed, 24 Jan 2001 11:58:22 +0300 (MSK)
 
 worm@transinf.spb.ru... Domain must resolve
 
 Hе могу закрыть |/usr/bin/sendmail worm@transinf.spb.ru
 -----------------------------------------------------------------------------
 
     Да, всё это выдиралось из середины другого скрипта, так что могут быть
 опечатки. Hо идея ясна?
 
         serge@matveev.spb.ru                      Serge Matveev & ...
         ICQ 3575357
 
 ... A is for awk, which runs like a snail
  * Origin: После нас пришло новое поколение и выбрало Pepsi. (2:5030/182)
 
 

Вернуться к списку тем, сортированных по: возрастание даты  уменьшение даты  тема  автор 

 Тема:    Автор:    Дата:  
 Поймать stdout   Oleh Khoma   10 Mar 2001 19:33:59 
 Re: Поймать stdout   A.Radoselsky   11 Mar 2001 10:42:12 
 Re: Поймать stdout   Valentin Davydov   11 Mar 2001 10:46:15 
 Re: Поймать stdout   Artem Chuprina   11 Mar 2001 16:09:12 
 Поймать stdout   Serge Matveev   11 Mar 2001 20:49:44 
 Re: Поймать stdout   Artem Chuprina   12 Mar 2001 16:19:40 
 Поймать stdout   Serge Matveev   12 Mar 2001 20:18:18 
 Re: Поймать stdout   Artem Chuprina   12 Mar 2001 23:37:18 
 Re: Поймать stdout   Oleh Khoma   14 Mar 2001 14:48:15 
 Поймать stdout   Serge Matveev   14 Mar 2001 21:16:14 
Архивное /ru.perl/22753aabae3a.html, оценка 2 из 5, голосов 10
Яндекс.Метрика
Valid HTML 4.01 Transitional