我嘗試用Python語言編寫一個守護進程。但我不知道如何使用線程來啓動此守護進程中的並行tcp服務器。甚至我應該使用什麼類型的服務器:asyncore?SocketServer?socket?如何把TCP服務器上的另一個線程在python
這是我的代碼部分:
import os
def demonized():
child_pid = os.fork()
if child_pid == 0:
child_pid = os.fork()
if child_pid == 0: #fork twice for demonize
file = open('###', "r") # open file
event = file.read()
while event:
#TODO check for changes put changes in list variable
event = file.read()
file.close()
else:
sys.exit(0)
else:
sys.exit(0)
if __name__ == "__main__":
demonized()
因此,在一個循環我有附加每圈的一些數據的列表變量,我要開始與TCP服務器的線程等待在連接循環,如果客戶端連接發送這個數據(帶零值變量)。所以我不需要處理多個客戶端,客戶端將只有一個。實現這個的最佳方式是什麼?
謝謝。
你可以只使用雙絞線(http://twistedmatrix.com/trac/),它是專爲基於網絡的事件處理。 – extraneon
的展示,最近對我幫助很大 - 我已經知道關於'Queue',但呈現給我介紹這樣想'這是我的標準庫文檔已經看到,但不知道做什麼用Event' - 大衛Beazley的「 「Python併發性簡介」 - 儘管大衛在專業培訓方面,他已經慷慨地爲每個人提供了很多幻燈片套件供他們看到: http://www.slideshare.net/dabeaz/an-introduction-to -python併發 –