MCPcopy
hub / github.com/AstrBotDevs/AstrBot / get_process_using_port

Method get_process_using_port

astrbot/dashboard/server.py:448–468  ·  view source on GitHub ↗

获取占用端口的进程详细信息

(self, port: int)

Source from the content-addressed store, hash-verified

446 return True
447
448 def get_process_using_port(self, port: int) -> str:
449 """获取占用端口的进程详细信息"""
450 try:
451 for conn in psutil.net_connections(kind="inet"):
452 if cast(_AddrWithPort, conn.laddr).port == port:
453 try:
454 process = psutil.Process(conn.pid)
455 # 获取详细信息
456 proc_info = [
457 f"进程名: {process.name()}",
458 f"PID: {process.pid}",
459 f"执行路径: {process.exe()}",
460 f"工作目录: {process.cwd()}",
461 f"启动命令: {' '.join(process.cmdline())}",
462 ]
463 return "\n ".join(proc_info)
464 except (psutil.NoSuchProcess, psutil.AccessDenied) as e:
465 return f"无法获取进程详细信息(可能需要管理员权限): {e!s}"
466 return "未找到占用进程"
467 except Exception as e:
468 return f"获取进程信息失败: {e!s}"
469
470 def _init_jwt_secret(self) -> None:
471 if not self.config.get("dashboard", {}).get("jwt_secret", None):

Callers 1

runMethod · 0.95

Calls 1

nameMethod · 0.45

Tested by

no test coverage detected