請幫我一下。我努力在Windows中發送兩個python進程之間的通知。什麼等價於使用python的windows中的sigusr1-2信號?
我查看過信號模塊,但不幸的是,用戶定義的信號在Windows中不受支持。
Windows使用其他稱爲消息的東西,但我不知道它是如何工作的或如何在Python中使用它。如果有人有一個想法或起點在python進程之間發送消息,將不勝感激。
請幫我一下。我努力在Windows中發送兩個python進程之間的通知。什麼等價於使用python的windows中的sigusr1-2信號?
我查看過信號模塊,但不幸的是,用戶定義的信號在Windows中不受支持。
Windows使用其他稱爲消息的東西,但我不知道它是如何工作的或如何在Python中使用它。如果有人有一個想法或起點在python進程之間發送消息,將不勝感激。
嘗試使用zeromq進行通過套接字進行的進程間通信。
這真的取決於你在找什麼 - 無論你想控制消息,非阻塞消息,還是像通常使用signal
模塊那樣捕獲外部信號的能力。
既然要「兩個Python進程之間的通知」送我推薦multiprocessing.connection
模塊的客戶端和監聽器類非常容易的面向消息的對連接對象:
http://docs.python.org/2/library/multiprocessing.html#module-multiprocessing.connection
進行中的:
listener = Listener(('localhost', 9000)) # local TCP connections on port 9000
remote_conn = listener.accept()
listener.close()
print remote_conn.recv()
# prints 'a pickle-able object'
print remote_conn.recv()
# prints "['another', 'pickle-able', 'object']"
在方法B:
client = Client(('localhost', 9000))
client.send('a pickle-able object')
client.send(['another', 'pickle-able', 'object'])
這些類內置的事實讓我開心 - 無需安裝!只要注意遵循關於安全性和不酸洗數據的文檔指南。