![]() |
Модераторы: ginnie, korob2001 |
![]() ![]() ![]() |
|
StealtH |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 124 Регистрация: 16.9.2004 Репутация: нет Всего: нет |
Такая возникла трабла, нужно создать несколько дочерних процессов, точнее 255, а создается только 64. С чем это связано, и как это можно исправить. Подскажите пожалуйста, или подкинте ссылочку на документацию, плиз
|
|||
|
||||
chaos |
|
|||
![]() Серийный программист ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2979 Регистрация: 7.7.2004 Где: Екатеринбург Репутация: 3 Всего: 44 |
Возник вопросик нах тебе столько процессов???
![]() |
|||
|
||||
StealtH |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 124 Регистрация: 16.9.2004 Репутация: нет Всего: нет |
Ну о-о-о-о-о-чень нужно ![]() |
|||
|
||||
GoodBoy |
|
|||
![]() Главный джедай ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 3886 Регистрация: 8.1.2003 Где: КМВ Репутация: нет Всего: 83 |
StealtH
А ты уверен, что другова пути нет???? |
|||
|
||||
ElectricalStorm |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 547 Регистрация: 22.1.2004 Репутация: 1 Всего: 9 |
ключевые слова: fork, use threads, use Threads;
-------------------- Нужно знать инструмент, которым пользуешься |
|||
|
||||
StealtH |
|
||||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 124 Регистрация: 16.9.2004 Репутация: нет Всего: нет |
Пробовал делать через дескрипторы файлов, через system, через обратные кавычки, везде один и тотже результат, может это операционка накладывает свои ограничения, если так, то где почитать как с этим бороться. Добавлено @ 18:05
Не помогает ![]() |
||||
|
|||||
GoodBoy |
|
|||
![]() Главный джедай ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 3886 Регистрация: 8.1.2003 Где: КМВ Репутация: нет Всего: 83 |
StealtH
Нет, ты не понял!!!!! Опиши задачу!!! Может есть другой путь решения, чем плодить процессы!!!!! |
|||
|
||||
StealtH |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 124 Регистрация: 16.9.2004 Репутация: нет Всего: нет |
Вообщем суть дела такова. Есть определенный диапазон IP-адресов(большой), который нужно отслеживать на наличие различных сервисов(Apache, фтп, и т.д.). Есть скрипт, который все это прекрасно делает(сам написал), суть работы такова, сначала пингуем хост, а потом производим с ним остальные действия. Т.к. хостов много около 1000, то, нужно, чтоб сервер их пинговал сразу и по многу, т.е. брал маску адреса(типа 192.168.100.) а остальные цифры последнего актета подставлял сам скрипт, и результаты выбрасывал в текстовый файл с именем аналогичным хосту, потом берет из папки с результатами(т.е. файлами результатов пинга) обрабатывает. Почему нужно много и сразу, потому что результаты должны обновлятся через короткие промежутки времени. Пробовал использовать Net::Ping, но результаты пинга больше чем в реале раза в два-три, это(как мне объяснили) результат того, что используются библиотеки перла, которые перед трансляцией подгружаются, поэтому именно из-за этого вариант сразу отпал. Выход единственный - пинговать системной командой, и для этого запускать ее как отдельный процесс. С порождением нужного количества процессов на моем серваке(Linux Interprase)проблем нет, у меня там права рута, но в конечном итоге скрипт будет работать на сервере, где у меня таких прав не будет, да и скрипту их никто не даст(он будет работать с консольном режиме и запускаться через crontab). Поэтому вот и приходится находить другие пути. Вот в принципе практически все. |
|||
|
||||
GoodBoy |
|
||||
![]() Главный джедай ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 3886 Регистрация: 8.1.2003 Где: КМВ Репутация: нет Всего: 83 |
А теперь представь СКОЛЬКО системных ресурсов тебе надо, чтобы запустить 256 клонов своего скрипта, КАЖДЫЙ из которых запустит свою версию интерпретатора Перл... Ты уверен, что fork 256 процессов - это единственный выход??? |
||||
|
|||||
StealtH |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 124 Регистрация: 16.9.2004 Репутация: нет Всего: нет |
Ну если какой-нить другой выход есть, то подскажи пожалуйста, буду признателен. |
|||
|
||||
GoodBoy |
|
|||
![]() Главный джедай ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 3886 Регистрация: 8.1.2003 Где: КМВ Репутация: нет Всего: 83 |
Могу предложить тебе, ну скажем к примеру, запускать 8 или 16 процессов и поделить между ними всё адресное пространство... Тогда и нагрузка на сервер будет не очень высокая и скорость работы возрастёт по сравнению с одним процессом...
|
|||
|
||||
Nobody |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 838 Регистрация: 25.8.2003 Где: Россия, Москва Репутация: нет Всего: 16 |
Эээ... А старый добрый nmap не устраивает?
-------------------- |
|||
|
||||
StealtH |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 124 Регистрация: 16.9.2004 Репутация: нет Всего: нет |
По подробнее если можно, потому что я с этим не сталкивался, и понятия не имею, или ссылочку где почитать по данному поводу. |
|||
|
||||
GoodBoy |
|
||||||
![]() Главный джедай ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 3886 Регистрация: 8.1.2003 Где: КМВ Репутация: нет Всего: 83 |
StealtH
Ну смотри, есть у тебя скрипт, который опрашивает удалённый хост. К примеру по крону ты запускаешь 8 экземпляров этого скрипта с параметрами:
а в самом скрипте читаешь начальное и конечное значение последнего сегмента адреса
и дальше простейший цикл:
Таким образом каждый из 8 процессов обработает свои 32 хоста... |
||||||
|
|||||||
StealtH |
|
||||||||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 124 Регистрация: 16.9.2004 Репутация: нет Всего: нет |
Т.е. таким образом постараться объеденить несколько задач в одну, используя входные параметры скрипта. Но тогда при этом, снизится скорость работы скрипта. Вообщем неплохая идея, где про это можно более подробно почитать? |
||||||||
|
|||||||||
![]() ![]() ![]() |
Правила форума "Perl: Системное программирование" | |
|
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, korob2001, sharq. |
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Perl: Системное программирование | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |