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


ru.perl

 
 - RU.PERL ----------------------------------------------------------------------
 From : Alexander Semenov                    2:5020/400     17 May 2000  11:12:58
 To : All
 Subject : Bidirectional Communication with Another Process (Win32(win2k) AP5.6)
 -------------------------------------------------------------------------------- 
 
 Здравствуйте All!
 
 Кто-нибудь добился subj? Hадо запустить другой процесс, писать ему в
 stdin, читать его stdout.
 Принципиальных сложностей не вижу, но:
 
 1. Второй способ из perlipc Comm.pl - она вообще есть под Win32? Я не
 нашел.
 
 2. Первый способ из perlipc $pid = open3(*Writer, *Reader,
 *Errors,"cat -u -n" );
 2а. 'dir' в качестве комманды отрабатывает, но в Reader и Errors
 пустые, весь
     вывод плюхается на экран.
 2б. cat запускается и висит в списке процессов, open2 (open3 тоже) не
 возвращается, чего-то ждет.
     Делаю open[23] из форкнутого childа. Записываю все что хотел во
 Writer. Закрываю Writer.
     Читаю Reader и Errors - снова пусто. Жду childа - тот ждет open -
 все висит. Прибиваю cat.exe
     в списке процессов - все естественно завершается - я ничего не
 получил.
     Readerы, Writerы и Errorsы делаю так: my $Reader = new FileHandle;
     В манах написано, что все проблемы от буфферизации - но у меня до
 этого дело даже не доходит.
     Почему open[23] ждет завершения программы? Почему cat не
 завершается по закрытии Writerа?
     Похоже cat вообще к нему не подключается.
 
 3. Должен же быть способ! Как? Ведь перехват одного из
 (stdin,stdout,stderr) делается легко просто
    openом и работает отлично. Какая разница сколько хэндлов?
 
 Конкретная цель: очень желательно запускать pgp без создания временных
 файлов. Может
 есть более другие способы?
 
 --
 Спасибо,
 С уважением,
 Александр Семенов <sav@hey.to>
 --- ifmail v.2.15dev5
  * Origin: Demos online service (2:5020/400)
 
 

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

 Тема:    Автор:    Дата:  
 Bidirectional Communication with Another Process (Win32(win2k) AP5.6)   Alexander Semenov   17 May 2000 11:12:58 
 Bidirectional Communication with Another Process (Win32(win2k) AP5.6)   Oleg Bakiev   17 May 2000 15:32:31 
Архивное /ru.perl/186655b2056a7.html, оценка 1 из 5, голосов 10
Яндекс.Метрика
Valid HTML 4.01 Transitional