Модераторы: ginnie, korob2001
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Обращение к процессу по pid, как связаться с неродственным процессом 
:(
    Опции темы
HotHead
Дата 26.10.2007, 22:32 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 67
Регистрация: 26.10.2007

Репутация: нет
Всего: 4



Добрый день. Может кто-нибудь подсказать, как связаться с неродственным процессом, зная его pid и возможно ли вообще такое?

Теперь много лирики. Мне нужно обрабатывать большое количество запросов (предположительно несколько тысяч в секунду). Все запросы идут через http и ловятся Апатчем. В каждом запросе несколько чисел. Каждый запрос должен слазить в файл (скорее даже несколько файлов), взять оттуда данные, провести некоторые операции со своими числами и числами из файлов и записать результат в те же файлы. Если мне удастся каким-то чудом поймать все эти числа одним процессом, то это должно облегчить работу, т.к. можно будет провести предобработку (как минимум выкинуть дублирующиеся данные), одним махом считать всю нужную информацию из файлов и одним махом записать результаты рассчётов (делать это периодически я имею в виду). В принципе можно примитивно обсчитывать всё по очереди, но я боюсь что это загнёт машину, т.к. каждый процесс будет лочить файл до тех пор, пока не обработает свои данные. А тогда процессов может скопится очень много.

Если кто-нибудь знает как лучше всего решить такую задачку - подскажите. Наверное самым логичным было бы ловить запросы своим сервером по некоторому порту, но Апатч уже жёстко засел в проекте. Первое что мне пришло в голову - именно свой сервер с отправкой сообщений через порт от одного процесса другому, но это уже какое-то (вряд ли быстрое) извращение. К тому же знание Perl у меня слабенькое, Linux - вообще зачаточное. Посему решил спросить оптимального решения.

Заранее спасибо.  smile 
PM MAIL   Вверх
KSURi
Дата 27.10.2007, 00:29 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 887
Регистрация: 8.6.2006
Где: Russia

Репутация: 5
Всего: 27



Несовсем понял, а что значит "связаться"?
Может perldoc perlipc поможет?


--------------------
Died at Life.pl line 21
PM Jabber   Вверх
HotHead
Дата 27.10.2007, 10:20 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 67
Регистрация: 26.10.2007

Репутация: нет
Всего: 4



KSURi, 
Связаться - значит обеняться данными а-ля сокет. Самое близкое к тому что мне надо - именованый канал. Т.е. мне надо чтобы с одной стороны сидел в памяти скрипт и караулил некую точку входных данных, а с другой стороны к этой точке обращались несколько процессов. FIFO был бы решением, если бы он умел во-первых отдавать данные индивидуально каждому входящему процессу (а он, насколько я понимаю, эквивалентен генерации файла на лету, т.е. все входящие процессы получат одинаковые данные) и во-вторых пока данные нескольких первых процессов будут обсчитываться к нему могут подключится ещё процессы. Тогда данные второй партии процессов будут не учтены.
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Perl: Системное программирование"
korob2001
sharq
  • В этом разделе обсуждаются вопросы относящиеся только к системному программированию на Perl
  • Если ваш вопрос не относится к системному или CGI программированию, задавайте его в общем разделе
  • Если ваш вопрос относится к CGI программированию, задавайте его здесь
  • Интерпретатор Perl можно скачать здесь ActiveState, O'REILLY, The source for Perl
  • Справочное руководство "Установка perl-модулей", можно скачать здесь


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, korob2001, sharq.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Perl: Системное программирование | Следующая тема »


 




[ Время генерации скрипта: 0.0412 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.