The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

форумы  помощь  поиск  регистрация  майллист  ВХОД  слежка  RSS
"FIFO на Perl"
Вариант для распечатки  
Пред. тема | След. тема 
Форумы Программирование под UNIX (Public)
Изначальное сообщение [Проследить за развитием треда]

"FIFO на Perl" 
Сообщение от mthawk emailИскать по авторуВ закладки(??) on 28-Июл-05, 17:08  (MSK)
Доброго времени суток.
Есть вот такая проблема. CGI скрипт по запросу должен открывать бинарный файл солидного обьема от 500 Мб и отдавать его на STDOUT.
Банальная конструкция

open (F,'SOME_BIN_FILE');
binmode(F);
while (<F>)
  {
  print;
  }
close(F);

убивает сервер в хлам. 99.9 % CPU и памяти по обьему файла.

Нужно как то контролировать, были ли отданы предидущие NNNN байт на STDOUT, что бы sysread() прочитало следующие.

Заранее благодарен за любые подсказки.

  Правка | Высказать мнение | Ответить | Рекомендовать в FAQ | Cообщить модератору | Наверх

 Оглавление

  • FIFO на Perl, ihor, 18:16 , 28-Июл-05, (1)  
    • FIFO на Perl, mthawk, 01:16 , 06-Авг-05, (2)  

Индекс форумов | Темы | Пред. тема | След. тема
Сообщения по теме

1. "FIFO на Perl" 
Сообщение от ihor Искать по авторуВ закладки on 28-Июл-05, 18:16  (MSK)
попробуйте так:
# ===========================
$fname = '/tmp/5.4-RELEASE-i386-disc1.iso';
$bufsize = 4096;

open(FILE, $fname) || die "Can't open: $!";
while(read(FILE, $buf, $bufsize)) {
print $buf;
}
close(FILE);

  Удалить Правка | Высказать мнение | Ответить | Рекомендовать в FAQ | Cообщить модератору | Наверх

2. "FIFO на Perl" 
Сообщение от mthawk emailИскать по авторуВ закладки(ok) on 06-Авг-05, 01:16  (MSK)
>попробуйте так:
># ===========================
>$fname = '/tmp/5.4-RELEASE-i386-disc1.iso';
>$bufsize = 4096;
>
>open(FILE, $fname) || die "Can't open: $!";
>while(read(FILE, $buf, $bufsize)) {
> print $buf;
>}
>close(FILE);

Огромное спасибо за идею. Все работает, сервер жив.
В принципе понял свою предидущую ошибку.
Еще раз спасибо.

  Удалить Правка | Высказать мнение | Ответить | Рекомендовать в FAQ | Cообщить модератору | Наверх


Архив | Удалить

Индекс форумов | Темы | Пред. тема | След. тема
Оцените тред (1=ужас, 5=супер)? [ 1 | 2 | 3 | 4 | 5 ]
Пожалуйста, прежде чем написать сообщение, ознакомьтесь с данными рекомендациями.




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2025 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру