因业务需要,需监听tcp端口
def tcpListener():
#建立tcp头
sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
sock.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, True)
sock.bind(('0.0.0.0', 8888))
#最大连接数
sock.listen(5)
while True:
try:
#获取连接
session, addr = sock.accept()
conn = Server();
t = threading.Thread(target=conn.connect, args=(session, addr))
t.daemon = True
t.start()
except Exception, e:
logger.error(traceback.format_exc())
将该监听嵌入到主进程server.py当中
#监听tcp端口
t = MyThread(target=tcpListener)
t.setDaemon(True)
t.start()
#do something...
当中有业务需要执行shell脚本重启主进程
subprocess.Popen((u'nohup sh restart.sh', shell=True
, stdout=subprocess