URL: https://www.opennet.me/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID8
Нить номер: 7883
[ Назад ]

Исходное сообщение
"Если серьезно, fork или что-то еще?"

Отправлено beerdy , 01-Июн-14 19:30 
Незнаю поможете или нет, но хотелось бы надеяться.

- Есть скрипт (демон) в вечном цикле RUBY
- Скрит плодит fork-и

Вопрос какими средствами обратиться к поражденным fork-процессам а точнее к каждому? Кроме возвращаемого pid fork-а у меня получаеться ничего нет(


Содержание

Сообщения в этом обсуждении
"Если серьезно, fork или что-то еще?"
Отправлено PavelR , 01-Июн-14 20:05 
> Незнаю поможете или нет, но хотелось бы надеяться.
> - Есть скрипт (демон) в вечном цикле RUBY
> - Скрит плодит fork-и
> Вопрос какими средствами обратиться к поражденным fork-процессам а точнее к каждому? Кроме
> возвращаемого pid fork-а у меня получаеться ничего нет(

"Вечный скрипт RUBY" - это серьезно.

Что значит - "обратиться"?

Книжки почитай:

- Русский язык
- Межпроцессное взаимодействие в ОС UNIX.


"Если серьезно, fork или что-то еще?"
Отправлено beerdy , 01-Июн-14 20:29 
>> Незнаю поможете или нет, но хотелось бы надеяться.
>> - Есть скрипт (демон) в вечном цикле RUBY
>> - Скрит плодит fork-и
>> Вопрос какими средствами обратиться к поражденным fork-процессам а точнее к каждому? Кроме
>> возвращаемого pid fork-а у меня получаеться ничего нет(
> "Вечный скрипт RUBY" - это серьезно.
> Что значит - "обратиться"?
> Книжки почитай:
> - Русский язык
> - Межпроцессное взаимодействие в ОС UNIX.

Спасибо за "дельный" совет.
Но хотелось бы более конкретный ответ (в теме как бы указанно что речь идет о fork, внимательнее тему читайте - умник блин)))


"Если серьезно, fork или что-то еще?"
Отправлено izyk , 01-Июн-14 22:37 
> Но хотелось бы более конкретный ответ (в теме как бы указанно что
> речь идет о fork, внимательнее тему читайте - умник блин)))

Хамло!


"Если серьезно, fork или что-то еще?"
Отправлено beerdy , 01-Июн-14 22:50 
>> Но хотелось бы более конкретный ответ (в теме как бы указанно что
>> речь идет о fork, внимательнее тему читайте - умник блин)))
> Хамло!

Флудеры...


"Если серьезно, fork или что-то еще?"
Отправлено parad , 02-Июн-14 02:23 
тебе верно сказали - нужно больше конкретики - что значит обратиться?
можно к примеру сигнал послать. устроит?

про остальные расскажу как четко сформулируешь задачу.


"Если серьезно, fork или что-то еще?"
Отправлено Andrey Mitrofanov , 02-Июн-14 09:18 
>> - Межпроцессное взаимодействие в ОС UNIX.
> Спасибо за "дельный" совет.

Не подходит? Гм... Ну, пусть письма друг другу пишут. man mail.


"Если серьезно, fork или что-то еще?"
Отправлено beerdy , 02-Июн-14 11:33 
>>> - Межпроцессное взаимодействие в ОС UNIX.
>> Спасибо за "дельный" совет.
> Не подходит? Гм... Ну, пусть письма друг другу пишут. man mail.

Вы правы. Межпроцессное взаимодействие в ОС UNIX действительно необходимо знать. Дико извиняюсь, что оскорбил. Скорее это было даже не оскорбление а провокация на ответ) Но получилось некрасиво.

Но вопрос в другом.

1) Есть N-ое количество ассоциативных массивов (назовем их процессами) которые в виде fork или fiber или thread - порождаются Шелдером, при обращение к Шелдеру клиента.

2) Шелдер в свое время сохраняет массив запущенных процессов по идентификатору, метки или еще чему нибудь пока не определился (подскажите пожалуйста чем лучше воспользоваться?).

3) Далее если клиент обратиться сново к Шелдеру, то задача Шелдера отдать метку клиенту - мол вот тебе ID процесса порожденного для тебя(клиента) при прошлом обращение ко мне (Шелдеру) иди и соединяйся со своим процессом а от меня отвали.

4) Далее клиент соединяется уже напрямую с процессом созданным для него. Если же Шелдер не находит процесс соответствующий клиенту то снова пункт 1)

На другом форуме посоветовали использовать распределенную память. И обмениваться через файлы. Только какими конкретно методами языка RUBY это осуществить?


"Если серьезно, fork или что-то еще?"
Отправлено PavelR , 02-Июн-14 12:01 
>Далее если клиент обратиться сново к Шелдеру,

Как это происходит?


"Если серьезно, fork или что-то еще?"
Отправлено beerdy , 02-Июн-14 12:19 
>>Далее если клиент обратиться сново к Шелдеру,
> Как это происходит?

clien ajax запрос из браузера -> nginx -> thin -> скрипт вызываемый клиентом который я назвал - "циклером" cirler.rb -> Шелдер -> процесс с данными


"Если серьезно, fork или что-то еще?"
Отправлено beerdy , 02-Июн-14 12:48 
>>>Далее если клиент обратиться сново к Шелдеру,
>> Как это происходит?
> clien ajax запрос из браузера -> nginx -> thin -> скрипт вызываемый
> клиентом который я назвал - "циклером" cirler.rb -> Шелдер -> процесс
> с данными

Нашел два решения:
- c-extensions
или
- готовый mmap

Поэтому:
Думаю написать все через ТСПСокет



"Если серьезно, fork или что-то еще?"
Отправлено beerdy , 02-Июн-14 12:49 
Потом взять Си и на нем написать шелдер с порождаемыми процессами