From 0d2578daffd3b32fb0fa05e7dd92e88aa2d92ffa Mon Sep 17 00:00:00 2001
From: hxp <ale99527@vip.qq.com>
Date: 星期五, 01 三月 2019 16:23:06 +0800
Subject: [PATCH] 3039 【主干】【1.6】合服定制活动期间资源找回异常

---
 Tool/RemoteTool/RemoteServer/webapp.py |    7 ++++++-
 1 files changed, 6 insertions(+), 1 deletions(-)

diff --git a/Tool/RemoteTool/RemoteServer/webapp.py b/Tool/RemoteTool/RemoteServer/webapp.py
index 89117a6..ff02492 100644
--- a/Tool/RemoteTool/RemoteServer/webapp.py
+++ b/Tool/RemoteTool/RemoteServer/webapp.py
@@ -21,6 +21,7 @@
 from email.mime.text import MIMEText
 from email.header import Header
 import datetime
+import subprocess
 # get: request.query.username request.GET.get('username','')
 # post: request.forms.get('username')  request.POST.get('username')
 #===============================================================================
@@ -62,7 +63,11 @@
         pResult = pResult.read()
         if "PID" in pResult or "pid" in pResult:
             return " =======服务器已经开启,请再次确认服务器情况, EventServer.exe运行中"
-        os.system(r"call D:\ProjectServer\LaunchServerManager\正常开服.bat")
+        #os.system(r"call D:\ProjectServer\LaunchServerManager\正常开服.bat")
+        # system call会导致子进程占用父进程的文件描述符导致端口无法释放, 影响重启使用
+        # 如果需要保持子进程持续长期运行的应该调用 subprocess.Popen(cmd, close_fds=True)
+        cmd = r"D:\ProjectServer\LaunchServerManager\正常开服.bat"
+        subprocess.Popen(cmd, close_fds=True)
         return "open success"
     elif result == "close":
         # 记得关服后或者重启机器需自动启动服务器控制台

--
Gitblit v1.8.0