связь между программами Python - PullRequest
5 голосов
/ 29 июля 2010

У меня есть программа на Python, которая работает в Linux как демон.

Как отправить этому демону сигнал из другой программы на Python?

Ответы [ 4 ]

4 голосов
/ 29 июля 2010

Используйте os.kill для отправки сигналов. Сигналы определяются в модуле signal . Вам просто нужно каким-то образом получить pid демона.

Еще одна вещь - вы можете использовать сигнальный модуль для регистрации обработчиков сигналов.

3 голосов
/ 31 июля 2010

Если вам нужно что-то более сложное, чем простые сигналы, рассмотрите возможность использования библиотеки RPC, такой как PYRO . Преимущество этого состоит в том, что вы можете использовать его, даже если вам нужно перенести свои процессы на отдельные серверы.

Или, если вы в основном ориентированы на системы Linux, посмотрите на использование DBUS . Есть библиотека python, и теперь она даже поддерживается в Windows.

2 голосов
/ 29 июля 2010

Вы пробовали читать документы по межпроцессному взаимодействию в Python? Вот ссылка:

http://docs.python.org/library/ipc.html

1 голос
/ 29 июля 2010
  • Демон может иметь открытый (сетевой) сокет, где он принимает команды.
  • Он может отслеживать изменения в файле.

Возможен любой другой тип сигнализации, но он, вероятно, будет наиболее распространенным.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...