Форум программистов, компьютерный форум, киберфорум
Python
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.71/7: Рейтинг темы: голосов - 7, средняя оценка - 4.71
Эксперт Python
4640 / 2056 / 363
Регистрация: 17.03.2012
Сообщений: 10,139
Записей в блоге: 6
1

Взаимодействие процессов

18.11.2015, 08:25. Показов 1402. Ответов 1
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Всем привет. Запаситесь терпением, ибо описывать проблему я буду долго

Итак, что требуется, в общем.
Есть программа на Питоне. Она может быть запущена с ключом на открытие файла, примерно так:
Код
python.exe run.py file_to_open
(Вся ситуация рассматривается под windows.)
Надо сделать так, чтобы при таком запуске программа смотрела, нет ли уже запущенного ранее экземпляра программы, и, если есть - передавала имя файла на открытие в тот экземпляр (пусть он его откроет), а сама завершалась.

Недолго думая, я наваял простенький сервер на сокетах, который слушает порт в первом экземпляре, а в последующих - передаёт туда имя файла на открытие, и всё работало отлично.

НО! Нарисовались какие-то уроды из отдела безопасности, которые заявили, что порты открывать и слушать нельзя! Это, типа, небезопасно, ага-ага.

Отсюда вопрос.
Как сделать то же самое, но без сокетов?

В процессе поиска я набрёл на т. н. каналы. Можно получить Connection-ы через multiprocessing.Pipe().
Но непонятно, как в другом экземпляре программы (т. е. в другом процессе) получить Connection по его id. В первом экземпляре я могу его id хоть в файл сохранить, во втором - считать, а вот как открыть по id?

Именованные каналы, я так понял, работают только под Unix.

Есть совсем тупой вариант - через файлы, но не хотелось бы возиться с ними, как-то это совсем уж тупо.

В общем, буду рад любым подсказкам.
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
18.11.2015, 08:25
Ответы с готовыми решениями:

Взаимодействие процессов
ПОМОГИТЕ ПОЖАЛУЙСТА С НАПИСАНИЕМ ПРОГРАММЫ:scratch: Предположим, существует программа...

Взаимодействие процессов
Нужно написать задачу, в которой дано 10 процессов (там P1, P2, …, Р10, например) Функционирование...

Взаимодействие процессов
Подскажите пожалуйста как мне наладить взаимодействие между двумя процессами через каналы. Вот...

Взаимодействие процессов - теория
Помогите, пожалуйста, разобраться в теории! Для подготовки к экзамену по операционным системам...

1
21 / 34 / 14
Регистрация: 23.07.2014
Сообщений: 148
20.11.2015, 04:05 2
Нормальный вариант с файлами.
Читай изменения pyinotify
0
20.11.2015, 04:05
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
20.11.2015, 04:05
Помогаю со студенческими работами здесь

Взаимодействие двух процессов
Помогите пожалуйста сделать две нити. первая нить "Писатель" вторая нить "Читатель" Писатель...

Взаимодействие процессов. Сигналы
Создать дерево процессов 1->(2,3) 2->(4,5) 5->6 6->(7,8) Процессы непрерывно...

Взаимодействие процессов / WinAPI
Доброе время суток, форумчане! Прощу вашей помощи! :help: Для знающих и опытных программистов,...

Взаимодействие процессов в Windows
Есть 2 процесса, которые взаимодействуют с помощью очереди сообщений,один процесс размещает...

Программирование: взаимодействие userspace процессов
У нас есть большой проект и появилась необходимость сделать тулзу. Весь проект в userspace. Научник...

Как организовать взаимодействие процессов ?
Добрый день! Подскажите, пожалуйста, какие инструменты подходят для реализации следующей задачи....


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru