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

Method run

gui_qt6/workers.py:341–392  ·  view source on GitHub ↗

执行进程管理任务

(self)

Source from the content-addressed store, hash-verified

339 self.ide_name = get_ide_display_name(ide_type)
340
341 def run(self):
342 """执行进程管理任务"""
343 try:
344 from augment_tools_core.process_manager import ProcessManager
345
346 pm = ProcessManager()
347
348 if self.action == "check":
349 self.emit_progress(f"检查 {self.ide_name} 进程...")
350 processes = pm.get_ide_processes(self.ide_type)
351
352 if processes:
353 self.emit_progress(f"找到 {len(processes)} 个 {self.ide_name} 进程:")
354 for proc in processes:
355 self.emit_progress(f" {proc}")
356 self.emit_status(f"找到 {len(processes)} 个进程", "info")
357 else:
358 self.emit_progress(f"未找到 {self.ide_name} 进程")
359 self.emit_status("未找到进程", "info")
360
361 self.task_completed.emit(True)
362
363 elif self.action == "kill":
364 self.emit_progress(f"终止 {self.ide_name} 进程...")
365
366 import asyncio
367
368 async def kill_processes():
369 return await pm.kill_ide_processes(self.ide_type, force=True)
370
371 # 在新的事件循环中运行
372 try:
373 loop = asyncio.get_event_loop()
374 except RuntimeError:
375 loop = asyncio.new_event_loop()
376 asyncio.set_event_loop(loop)
377
378 success = loop.run_until_complete(kill_processes())
379
380 if success:
381 self.emit_progress("所有进程已成功终止")
382 self.emit_status("进程终止完成", "success")
383 self.task_completed.emit(True)
384 else:
385 self.emit_progress("部分进程可能无法终止")
386 self.emit_status("进程终止部分失败", "warning")
387 self.task_completed.emit(False)
388
389 except Exception as e:
390 self.emit_progress(f"进程管理时发生错误: {str(e)}")
391 self.emit_status(f"操作失败: {str(e)}", "error")
392 self.task_completed.emit(False)
393
394
395# 导出所有工作线程

Callers

nothing calls this directly

Calls 5

get_ide_processesMethod · 0.95
ProcessManagerClass · 0.90
kill_processesFunction · 0.85
emit_progressMethod · 0.80
emit_statusMethod · 0.80

Tested by

no test coverage detected