MCPcopy Index your code
hub / github.com/BasicProtein/AugmentCode-Free / ProcessManager

Class ProcessManager

augment_tools_core/process_manager.py:27–385  ·  view source on GitHub ↗

进程管理器 - 检测和管理IDE进程

Source from the content-addressed store, hash-verified

25 return f"PID: {self.pid}, 名称: {self.name}, 内存: {self.memory}"
26
27class ProcessManager:
28 """进程管理器 - 检测和管理IDE进程"""
29
30 # IDE进程名称映射
31 IDE_PROCESS_NAMES = {
32 IDEType.VSCODE: [
33 'Code.exe', 'Code - Insiders.exe', 'Code - OSS.exe', 'VSCode.exe'
34 ],
35 IDEType.CURSOR: [
36 'Cursor.exe', 'cursor.exe'
37 ],
38 IDEType.WINDSURF: [
39 'Windsurf.exe', 'windsurf.exe'
40 ],
41 IDEType.JETBRAINS: [
42 'idea64.exe', 'idea.exe', 'pycharm64.exe', 'pycharm.exe',
43 'webstorm64.exe', 'webstorm.exe', 'phpstorm64.exe', 'phpstorm.exe',
44 'clion64.exe', 'clion.exe', 'rider64.exe', 'rider.exe'
45 ]
46 }
47
48 def __init__(self):
49 self.system = platform.system()
50
51 def check_ide_processes(self, ide_type: IDEType) -> bool:
52 """
53 检查指定IDE的进程是否在运行
54
55 Args:
56 ide_type: IDE类型
57
58 Returns:
59 bool: 是否有进程在运行
60 """
61 processes = self.get_ide_processes(ide_type)
62 return len(processes) > 0
63
64 def get_ide_processes(self, ide_type: IDEType) -> List[ProcessInfo]:
65 """
66 获取指定IDE的所有进程信息
67
68 Args:
69 ide_type: IDE类型
70
71 Returns:
72 List[ProcessInfo]: 进程信息列表
73 """
74 process_names = self.IDE_PROCESS_NAMES.get(ide_type, [])
75 all_processes = []
76
77 for process_name in process_names:
78 processes = self._get_processes_by_name(process_name)
79 all_processes.extend(processes)
80
81 # 额外查找基于命令行的进程(适用于Electron应用)
82 if ide_type in [IDEType.VSCODE, IDEType.CURSOR]:
83 electron_processes = self._get_electron_processes(ide_type)
84 all_processes.extend(electron_processes)

Callers 5

runMethod · 0.90
__init__Method · 0.85
check_processes_commandFunction · 0.85
kill_processes_commandFunction · 0.85
__init__Method · 0.85

Calls

no outgoing calls

Tested by

no test coverage detected