Skip to content

Commit 0068206

Browse files
committed
解决进程没有成功杀死的问题,fix issue #24
1 parent 88626eb commit 0068206

File tree

1 file changed

+10
-1
lines changed

1 file changed

+10
-1
lines changed

app.py

Lines changed: 10 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -48,11 +48,19 @@ def check_timeouts():
4848
def stop_nexttrace_for_sid(sid):
4949
task = clients.get(sid)
5050
if task and task.process:
51+
logging.info(f"Attempting to terminate process for client {sid}")
5152
task.process.terminate()
53+
try:
54+
task.process.wait(timeout=1)
55+
logging.info(f"Process terminated successfully for client {sid}")
56+
except subprocess.TimeoutExpired:
57+
logging.warning(f"Process termination timeout for client {sid}, forcing kill")
58+
task.process.kill()
59+
logging.info(f"Process killed forcefully for client {sid}")
5260
socketio.emit('nexttrace_complete', room=sid)
5361
if sid in clients:
5462
del clients[sid]
55-
logging.debug(f"Client {sid} removed from clients dictionary after process termination")
63+
logging.info(f"Client {sid} removed from clients dictionary after process termination")
5664

5765

5866
Thread(target=check_timeouts, daemon=True).start()
@@ -247,6 +255,7 @@ def start_nexttrace(data):
247255

248256
@socketio.on('stop_nexttrace')
249257
def stop_nexttrace():
258+
logging.info(f"Client {request.sid} stop nexttrace")
250259
stop_nexttrace_for_sid(request.sid)
251260

252261

0 commit comments

Comments
 (0)