mirror of
https://github.com/jxxghp/MoviePilot.git
synced 2026-09-02 05:56:47 +08:00
fix: recreate terminal manager after shutdown
This commit is contained in:
@@ -721,3 +721,11 @@ class _TerminalSessionManager:
|
||||
|
||||
|
||||
terminal_session_manager = _TerminalSessionManager()
|
||||
|
||||
|
||||
def get_terminal_session_manager() -> _TerminalSessionManager:
|
||||
"""返回当前进程的终端会话管理器,避免复用已完成关停的实例。"""
|
||||
global terminal_session_manager
|
||||
if terminal_session_manager._closed:
|
||||
terminal_session_manager = _TerminalSessionManager()
|
||||
return terminal_session_manager
|
||||
|
||||
@@ -21,7 +21,7 @@ from app.agent.tools.impl._terminal_session import (
|
||||
TERMINAL_DEFAULT_READ_BYTES,
|
||||
TERMINAL_MAX_READ_BYTES,
|
||||
TERMINAL_WAIT_DEFAULT_MS,
|
||||
terminal_session_manager,
|
||||
get_terminal_session_manager,
|
||||
)
|
||||
from app.runtime.log import logger
|
||||
|
||||
@@ -528,6 +528,7 @@ class ExecuteCommandTool(MoviePilotTool):
|
||||
)
|
||||
|
||||
try:
|
||||
terminal_session_manager = get_terminal_session_manager()
|
||||
if normalized_action == "start":
|
||||
start_command = self._require_command(command)
|
||||
self._validate_command(
|
||||
|
||||
Reference in New Issue
Block a user