Найти - Пользователи
Полная версия: Взаимодействие между двумя процессами,написанными на питоне.
Начало » Python для экспертов » Взаимодействие между двумя процессами,написанными на питоне.
1 2
Nap
Здравствуйте.
Написал простенькую программку, связанную с графикой. А теперь хотелось бы написать для неё, так сказать, тулзу для изменения цвета текста\фона и тп, но в процессе работы программы)
Тобишь, эта скриптик постоянно выводит графику на экран, а другой по мере надобности будет запускаться и изменять, какие-либо переменные в первом скрипте.
Вопрос таков:
Думаю с помощью чего делать pipes или sockets, склоняюсь в сторону папов, ибо сокеты как-то некрасивы будут в плане того, что процессы будут запущенны на одной машинке. Но с пайпами работать неумею, может у кого-нить есть дока по ним, или примерчик, конкретизированный для такого случая….
Jenyay
Я, правда, с пайпами работал мало, но плохо представляю как с помощью них можно вмешаться в другой процесс, если тот не ожидает ввода. Я бы все-таки делал с помощью сокетов.
bw
Jenyay
плохо представляю как с помощью них можно вмешаться в другой процесс, если тот не ожидает ввода. Я бы все-таки делал с помощью сокетов.
Какая разница? Только в том что сокеты можно не блокировать. С трубами я тоже плохо знаком, но они, вроде обязательно блокируются. Если вынести “опрос” трубы в отдельный поток, то получится тот же сокет.

Nap
по мере надобности будет запускаться
Сокеты.

..bw
poltergeist
трубы в линуксе можно селектом проверять, под виндой не выйдет. Сокеты чем хороши - они кроссплатформенны. А остальные решения зависят от платформы.
Nap
всем спасибо за ответы, исправил ситуацию - решил делать интерфейс с помощью mod_python и изменения ини файла, жалко только - надо будет рестартить приложение для отображения изменений.
shiza
хитрое решение и мне кажется криоватое.
Если скажешь что тебя привело к такому, я думаю мы сможем предложить лучшую идею.
Nap
привело меня к такому решению - незнание механизма работы пайпов, вернее недопонимание межпроцессорного взаимодействия именно в питоне(как я читал про пайпы, дак там вообще описано всё с точки зрения приложения, которое запускает какую-либо “подпрограмму”), плохо слушал лекции в прошедшие года… А теперь надо в этом бы разобраться, сам разобраться хотел бы, но к сожалению литературы вменяемой именно для питона не нашёл. А использовать сокеты, даже пусть типа AF_UNIX на одной и той же машине - незачем…. тем паче парсить данные придёться.
estin
А если использовать сигналы?
Правишь тулзой конфиг -> посылаешь сигнал -> программа перечитывает конфиг и рендерит

Правда как сигналами в Python пользоватся я не знаю пока… 8)
urandom
Можно корбу использовать, наверное самый простой путь и никаких велосипедов :)
Александр Кошелев
urandom
Можно корбу использовать
чур нас всех от неё%)
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB