我尝试用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并发 –